[发明专利]一种红外串口通信方法和装置有效
申请号: | 201310101170.4 | 申请日: | 2013-03-27 |
公开(公告)号: | CN103236154A | 公开(公告)日: | 2013-08-07 |
发明(设计)人: | 杨盛棕 | 申请(专利权)人: | 深圳创维数字技术股份有限公司 |
主分类号: | G08C23/04 | 分类号: | G08C23/04 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 红外 串口 通信 方法 装置 | ||
1.一种红外串口通信方法,其特征在于,所述方法包括:
当有数据需要发送时:
创建高频调制发送进程;
调用所述高频调制发送进程将I/O端口模拟成红外发送串口;
调用I/O模拟串口发送函数对需要发送的数据进行红外发送打包处理;
当有数据需要接收时:
进行红外中断处理以初始化串口接收模式;
将I/O端口模拟成红外接收串口;
调用I/O模拟串口接收函数对需要接收的数据进行红外接收数据处理。
2.根据权利要求1所述的红外串口通信方法,其特征在于,所述创建高频调制发送进程包括:
创建红外高频调制线程;
判断发射标志位是否等于1;
若发射标志位等于1,则红外发射端口电平取反,以发射红外信号
判断38khz定时时间是否到达;
若38khz定时时间还未到,则继续判断38khz定时时间是否到达;
所述调用所述高频调制发送进程将I/O端口模拟成红外发送串口包括:
发送起始位;
进行延时;
判断发送的数据位是否为1;
若发送的数据位为1,则置发送标志位为0;若发送的数据位为0,则置发送标志位为1;
按照设定的波特率时间表进行延时;
判断8位数据是否已经发送完毕;
若8位数据已经发送完毕,则发送停止位,以实现将I/O端口模拟成红外发送串口。
3.根据权利要求1所述的红外串口通信方法,其特征在于,调用I/O模拟串口发送函数对需要发送的数据进行红外发送打包处理包括:
调用I/O模拟串口发送函数发送数据包头;
计算发送的数据个数;
调用I/O模拟串口发送函数发送计算出来的数据个数;
调用I/O模拟串口发送函数发送传进来的数据;
判断数据是否发送完毕;
若未发送完毕,则继续调用I/O模拟串口发送函数发送传进来的数据;
若发送完毕,则计算校验值;
调用I/O模拟串口发送函数发送计算出来的校验值;
调用I/O模拟串口发送函数发送数据包尾。
4.根据权利要求1所述的红外串口通信方法,其特征在于,所述红外接收中断处理以初始化串口接收模式包括:
判断是否为正常接收模式;
若为正常接收模式,则初始化正常接收模式,并转正常红外遥控按键识别处理;
若为非正常接收模式,则初始化成为串口接收模式,并置串口数据标志位为1,以实现红外接收中断处理;
所述将I/O端口模拟成红外接收串口包括:
有中断产生时,进行延时;
判断接收到的数据位是否为1;
若接收到的数据位为1,则将接收到的数据先左移一位再加上1;若接收到的数据位为0,则将接收到的数据直接左移一位;
按照设定的波特率时间表进行延时;
判断8位数据是否已接收完毕;
若8位数据已经接收完毕,则接收停止位,以实现将I/O端口模拟成红外接收串口。
5.根据权利要求1所述的红外串口通信方法,其特征在于,所述调用I/O模拟串口接收函数对需要接收的数据进行红外接收数据处理包括:
创建红外串口接收线程;
若接收的包头为数据包头,则调用I/O模拟串口接收函数接收传进来的数据,并保存接收到的数据到接收数组;
判断数据是否接收完毕,若否,则继续调用I/O模拟串口接收函数接收传进来的数据,并保存接收到的数据到接收数组;
若数据已接收完毕,则调用I/O模拟串口接收函数取出校验值,并计算本次接收到的数据的校验值,然后将所述取出的校验值与所述计算得出的校验值进行比较,若一致,则调用I/O模拟串口接收函数接收数据包尾;
若接收到的包头为命令包头,则进一步判断接收到的数据是否为键值,若是,则上传键值给应用,若否,则调用命令处理函数;若接收到的包头非命令包头,则调用正常串口数据处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳创维数字技术股份有限公司,未经深圳创维数字技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310101170.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种捻线用纱管底盘和管身跳动检测装置
- 下一篇:用于冰箱的门及具有该门的冰箱