首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

vxworks系统下基于信号量事件的操纵杆串口驱动设计方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:天津津航计算技术研究所

摘要:本发明属于vxworks系统技术领域,具体涉及一种vxworks系统下基于信号量事件的操纵杆串口驱动设计方法。所述方法包括:读取操纵杆串口配置信息;初始化串口设备使用环境;解析串口数据获取操纵杆发送的力敏调节坐标;根据信号量设置屏幕坐标上报事件;与现有技术相比较,本发明在系统为vxworks的应用场景下,针对系统平台特性,根据操纵杆设备串口数据特点,通过信号量事件传送操纵杆力敏坐标,提供一种基于信号量事件的操纵杆串口驱动。本发明简化了操纵杆串口驱动加载过程,针对操纵杆串口数据特点,将操纵杆移动事件转化为信号量事件,为上层应用程序提供屏幕坐标接口。

主权项:1.一种vxworks系统下基于信号量事件的操纵杆串口驱动设计方法,其特征在于,所述方法包括:步骤1:读取操纵杆串口配置信息;步骤2:初始化串口设备使用环境;步骤3:解析串口数据获取操纵杆发送的力敏调节坐标;步骤4:根据信号量设置屏幕坐标上报事件;通过以上步骤,可以实现操纵杆在vxwork系统下的串口驱动功能;其中,所述步骤1为:在vxworks系统根目录读取关于操纵杆串口端口号、波特率信息;其中,所述步骤1中,首先创建文件对象指针,从配置文件的首字符开始读取文件内容;然后,根据对比宏定义的字符串获取关键字对应的端口号和波特率信息;其中,所述步骤2实施过程中:首先,在vxworks系统所接的设备中,指定与操纵杆通信的串口设备描述符;其次,通过vxworks系统函数打开与操纵杆通信的串口设备;然后,配置串口的波特率、校验位参数;最后,创建串口接收任务,进行操纵杆串口数据接收;其中,所述步骤2包括:步骤21:获取串口设备描述符;步骤22:使用vxworks系统函数open打开串口设备描述符所代表的串口设备,并保存串口所指向的操作句柄;步骤23:使用ioctl函数配置串口设备波特率和校验属性;步骤24:创建串口接收任务;步骤25:串口接收任务循环使用ioctl函数判断串口端口是否有新数据接收;当接收长度大于零时,则使用read函数读取串口数据;其中,所述步骤3实施过程中:首先,通过串口接收任务,获取操纵杆设备发送的移动事件数据报文内容;然后,对移动事件数据报文进行合法性验证,对于不合法的报文进行滑窗处理,减少串口数据的丢包率;如果报文合法,则获取数据内容中操纵杆相对中心点的力敏调节坐标x,y;最后,发送力敏调节坐标信号量;其中,所述步骤3包括:首先,创建串口接收任务获取串口的移动事件数据报文内容;然后,对移动事件数据报文进行合法性检查获取正确的操纵杆的力敏调节坐标,具体步骤如下:步骤31:将本次接收到的所有串口数据存放到临时数组Temp;步骤32:对临时数组Temp中的每一个数据依次进行处理,并对合法数据的总个数count进行计数:A:当总计数count为帧头个数时,判断帧头是否符合要求,存入缓冲数组,不符合则置总计数count为1继续处理后续数据;B:当总计数为帧长度时,判断帧尾和校验和是否符合要求,如果符合要求则计算操纵杆的力敏调节坐标x,y,并将总计数置0,否则在缓冲数组中从第一帧头位置z1到总计数所指位置中继续查找第二个帧头:如果找到,则第二个帧头位置z2后所有数据移位到数组头并将帧长减去z2赋值给count;如果没找到则将count置1;步骤33:判断处理的个数是否小于本次接收的串口数据个数,如果是则继续处理,如果不是则退出本次循环;最后,使用系统函数SemGive发送力敏调节坐标信号量;其中,所述步骤4实施过程中:首先,获取力敏调节坐标信号量;然后,判断上层应用传递的数据指针是否为空;最后,将坐标点赋值给应用程序传递的数据结构指针;其中,所述步骤4包括:首先,使用系统函数semTake获取力敏调节坐标信号量;然后,判断上层应用传递的数据指针是否为空,如果为空则返回0;如果不为空,将坐标点赋值给上层应用程序传递的数据结构指针并返回1;其中,所述方法用于在vxworks平台下,解决操纵杆串口驱动问题。

全文数据:

权利要求:

百度查询: 天津津航计算技术研究所 vxworks系统下基于信号量事件的操纵杆串口驱动设计方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。