电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
课程
芯视听
DIY视频
厂商活动
正点原子
板卡试用
电子赛事
RM机甲大师赛
电子设计竞赛
智能汽车竞赛
资源库
下载
文章
社区首页
文章
昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联
分 享
扫描二维码分享
昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联
昆仑通态
串口通信
芯知识学堂
芯知识学堂SingleYork
关注
发布时间: 2020-01-06
丨
阅读: 1442
大家好,我是『芯知识学堂』的SingleYork,前面给大家介绍了“昆仑通态人机界面与单片机通信实战教程二:脚本驱动的设计”,今天笔者就要来给大家介绍“昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联”。 首先,我们打开HDMI工程,在工作台的“实时数据库”中添加我们需要用到的数据,这里我们可以选择“成组增加”一次性添加多个,如下图所示:  笔者以添加“r_X00-r_X07”为例,一次性添加8个“开关”类型的数据,设置好后,直接点击“确定”按钮即可,我们就可以看到在“实时数据库”中多了r_X00-r_X07这8个数据:  按照同样的方式,我们将其他的数据r_X10-r_X17、r_Y00-r_Y07、r_Y10-r_Y17也都添加上去,类型同样为“开关型”,另外,我们还需要添加“w_Y00-w_Y07、w_Y10-w_Y17”这16个“数值型”的数据:  就这样一波操作后,我们需要的数据就全部添加好了:  接下来,我们就需要将添加好的数据与HDMI工程的“用户窗口”中的控件关联起来,以X00状态显示图标为例,鼠标左键双击图标,在弹出窗口中选择“数据对象”属性,然后点击旁边的“小问号”:  在弹出的“变量选择”对话框中选择“r_X00”这个变量,点击“确认”按钮,即可完成数据r_X00与图标的关联,当然咯,我们也可以直接在上一步的“小问号”左侧的输入框中直接输入“r_X00”,也同样可以轻松完成关联:  所有输入、输出状态显示的图标跟数据的绑定按照上面所说的方法去操作就OK了,接下来,我们就要来将按键操作和数据绑定起来。同样,鼠标左键双击按键“Y00输出控制”,在弹出的“标准按钮构建属性”框中选择“操作属性”,然后勾选下面的“数据对象值操作”,下拉框中选择“按1松0”(按键按下时发送1,松开时发送0),操作对象选择“w_Y00”,然后点击“确认”按钮,即可完成关联:  其他的几个按键,按照同样的方式操作即可,在所有的控件跟数据库数据绑定后,我们就可以来添加“设备驱动”程序了。 我们将上一讲中写好的“脚本驱动”复制或剪切到“MCGS脚本驱动开发工具”安装目录下的“Drivers->用户定制设备->新建一个名为[昆仑通态屏与单片机通信演示]的文件夹”中,如下图所示:  接下来,在HDMI工程工作台菜单“设备窗口”->“设备窗口”图标上双击,在弹出的对话框中鼠标右键单击,选择“设备工具箱”:  在“设备工具箱”中鼠标左键双击“通用串口父设备”,这样,就将在“设备窗口”中成功添加了一个“通用串口父设备”了:  接下来,我们还要在“通用串口父设备”中添加一个“子设备”。在“设备工具箱”中点击“设备管理”,在弹出的菜单中找到“用户定制设备”下的“昆仑通态屏与单片机通信演示”文件夹中的“昆仑通态屏与单片机通信演示”驱动,鼠标左键双击选定该设备,然后点击“确认”按钮:  这个时候,在“设备工具箱”中就有了“昆仑通态屏与单片机通信演示”这个设备了,然后我们鼠标左键双击这个设备,就可以添加到“通用串口父设备”中了:  现在,我们就要开始将“脚本驱动”和“HDMI工程”开始关联起来了,其实,这两者之间关联起来很简单,只需要将HDMI工程中的“数据对象”和脚本驱动中的“通道类型”一一对应起来就OK了,操作方式如下:鼠标左键双击刚才添加的“昆仑通态屏与单片机通信演示”这个子设备,在弹出的属性框中选择“通道链接”这个属性,左边“对应数据对象”就是HDMI工程的“实时数据库”中建好的那些数据,右边的“通道类型”就是脚本驱动中的“设备通道名”,只是为了方便,笔者将“数据对象名”和“设备通道名”设置成了一样。  在上一步操作完成后,整个HDMI工程就算是完成了,接下来,我们可以先模拟测试一下,确定脚本驱动和HDMI工程没有问题之后,我们在下一讲中就要开始写单片机端的程序了。 我们在电脑上安装一个“虚拟串口”,添加一对虚拟串口,笔者这里添加的虚拟串口是COM2和COM4,这种方式添加的虚拟串口都是成对的,可以理解为,一个为发送端口,一个为接收端口。  在添加好“虚拟串口”后,我们就可以在HDMI工程中的“通用串口父设备”里修改“串口端口号”为COM2或COM4,笔者这里设置的是COM2,那么在后面测试的时候,串口助手里面就要设置为COM4了。  接下来,我们修改“子设备”中的“最小采集周期”,为了便于观察数据,笔者这里将采样周期设置成了1000ms,也就是1秒:  一切就绪之后,我们就可以来下载工程模拟运行了,按照下图所示操作即可,当显示“工程下载成功!”字样的时候,直接点击“启动运行”按钮即可:  在HDMI工程启动后,我们同时打开串口助手,将COM口设置成COM4,波特率跟HDMI工程中一致为9600即可,这个时候,我们就可以发现,串口助手每隔一秒会收到一条“37 73 04 80 00 00 84”的数据,这个数据就是HDMI工程下发的。这个时候我们可以鼠标点击一下“Y00输出控制”按键,则会在按键按下的时候发送一条“37 73 06 81 00 00 00 01 88”的数据,在按键松开的时候,会发送一条“37 73 06 81 00 00 00 00 87”的数据。  至此,HDMI工程数据下发的指令就算是OK了,接下来,就要测试一下HDMI工程的数据接收和解析的指令,是不是正确了,同样,我们还是用串口助手来模拟从机的数据返回,具体操作如下: 1、 在串口助手中设置“收到一帧回答后发送下一帧”; 2、 在数据“发送区1”设置需要回复的一帧数据5A A5 06 80 FF 00 00 00 85,这一帧数据的含义,我们可以从通信协议中得知“帧头(2)+ 长度(1)+ 功能码(1)+ 数据一(输入状态一:X00-X07)+ 数据二(输入状态二:X10-X17)+ 数据三(输出状态一:Y00-T07))+ 数据四(输出状态二:Y10-X17)+和校验(从长度位开始累加)”; 3、 在“发送区1属性”框中,勾选“16进制”和“参加轮发”; 4、 点击“开始文件轮发”; 串口助手设置完成后,我们就可以看到HDMI工程中的X00-X07图标的颜色都变成了绿色,这就意味着我们HDMI工程数据的解析没有什么问题了:  好了,本节的内容就给大家介绍到这里了,在下一讲内容中,笔者将会给大家介绍“昆仑通态人机界面与单片机通信实战教程”的最后一个内容,那就是“单片机程序的设计”了,敬请关注! 关于这节内容,要是有不明白的地方大家可以关注我们的微信公众号『芯知识学堂』,然后在公众号菜单“获取资源”->“联系我们”中加入我们的群即可交流。 另外,如果需要例程源码的小伙伴们,可以直接在我们公众号回复“昆仑通态”,即可获取到关于该例程的源文件,源文件还在更新中,待例程编写完成,会全部上传到链接中,感谢大家的支持! 喜欢工控的小伙伴们,请大家记得多多支持SingleYork! 独学而无友,则孤陋而寡闻,欢迎大家将我们的文章分享到你们的朋友圈,或者分享给更多的好友,大家一起来互相学习,感谢大家的支持!
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
0
)
芯知识学堂SingleYork
擅长:消费电子、工控电子、安防电子、光电显示、设计,制造及服务,测试仪器及设备
关注
评论
(0)
登录后可评论,请
登录
或
注册
相关文章推荐
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
【花雕体验】15 尝试搭建Beetle ESP32 C3之Arduino开发环境之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交