4.2 XHIF接口实验
4.2.1写入单片机固件
首先按照下图连接设备
用JLINK 20Pin JTAG连接4 Pin SWD可以采用转接板
单片机的参考程序是用ST的CubeIDE生成的,目前的版本是1.7.0。打开安装后的CubeIDE,在菜单中选择“File->Import“
选择“Existing Project into Workspace“
选择\contributions\MCU_Host\STM_PN_Nano
这样即可导入示例单片机程序
编译单片机程序结果如下:
右键点击项目,才弹出的菜单中选择“Debug Configurations“
这里选择JLink,接口为SWD
点击“Debug“即可下载调试单片机程序。结束Debug后,单片机Flash中的程序也被更新。
4.2.2 调试PN协议栈和XHIF
断电后重新连接设备
首先,将之前章节屏蔽XHIF数据交换部分恢复成原状
其中IODataToXHIF(64,64) 完成通过将输入输出数据同步到0X21000000起始的SDRAM上。修改后编译,运行PN协议栈。使用与3.1相同的PLC组态,在线情况下查看%IB0
调整拨码开关
可以看到在线数据也会跟着变化:
接下来利用DO实现一个跑马灯。首先定义变量ShiftVar和OutData0,地址分别为%MB2和%QB0。
添加新的组织块
选择周期中断,周期为500000us。
编辑生成的OB块,添加如下功能:
转至离线,将新程序下载到PLC。切换到监视。
右键点击“ShiftVar“,选择”修改“->”修改操作数”,并将操作数改为1
这样就能看到跑马灯闪烁了。除了拨码开关和LED以外。示例程序还将%IW2,%IW4关联到两个ADC通道上,两个ADC通道均连接旋钮可变电阻(P4、P5)控制分压电路。定义变量ADC0
添加新轨迹
选择信号
下载Trace
激活记录
旋转P4,就可以动态的看到模拟量的变化趋势: