RS485通信字符串数据接收处理的问题
2017-12-02 13:15
369 查看
RS485通信字符串数据接收处理的问题
前段时间用51单片机写了一个步进电机的控制程序,想模仿一下云台的运行,但是在对通过485通信接收到上位机传来的数据进行分析时,发生了一个比较智障的小插曲,所以特地把它记下来,时时警醒自己这个菜鸡~~~RS485通信程序参考了金沙滩工作室宋雪峰老师的《手把手教你单片机》中的例程。设置接收字节数为8位,粗糙的从接收数组中提取数据给步进电机的各种状态量进行初始化
void UartDrive() { unsigned char len; unsigned char pdata buf[8]; if(flagFame) { flagFame=0; recTimes=1; len=UartRead(buf,sizeof(buf)); UartWrite(buf,len); SFLAG=buf[0]-48; recNum=buf[1]-48; Speed_Levle=buf[2]-48; } }
其中如
Speed_Levle=buf[2]-48
将上位机发来的ASCALL码值转化对应的数值,这样后面处理会匹配了。
if(recNum==0 || Speed_Levle==0);
当然,转化为16进制数会方便一点,或者用单引号,如 ‘1’。
相关文章推荐
- 遇到的问题(一):智能家居中WIFI模块设备在接收底层家具设备串口数据时由于断帧而出现的指令丢失的情况处理
- 关于Rs485通信只能接收不能发送的问题
- 异步Socket接收数据后缓存处理问题
- TCP UDP多机通信无法接收到数据的问题
- 一般处理程序返回的json数据,前台接收不到问题
- mina自定义编解码器接收处理byte数组(同时解决数据传输中的粘包、缺包问题)
- javaWed项目中用过滤器实现转码功能,敏感词汇过滤更能,处理Get和Post接收数据中的中文乱码问题以及敏感词汇的处理
- 解决在epoll中accept接收端口会漏处理的问题. 直到新的socket消息到达,epoll_wait才响应去接收socket端口数据的问题
- 关于通信中数据接收的处理方法讨论
- PureMVC与DarkStar(SGS)通信之接收数据后的处理
- 处理list为空时,接口接收不到数据的问题
- iOS 一个在UDP/TCP通信时,对16进制、10进制、NSData等数据之间的转换发送等处理的工具类库,一行代码将16进制字符串轻松转换成UDP需要的指令数据
- Linux串口通信中一种接收不到数据的问题的解决
- SpringMVC @RequestBody接收Json对象字符串 @ResponseBody处理json数据类型
- 串口通信中接收数据时延迟处理与缓存处理的解决方案(C#)
- 关于rtsp客户端接收数据、解码、处理性能的有关问题
- mina自定义编解码器接收处理byte数组(同时解决数据传输中的粘包、缺包问题)
- 利用epoll接收串口数据和socket进程通信问题
- mina自定义编解码器接收处理byte数组(同时解决数据传输中的粘包、缺包问题)
- c#网络通信框架networkcomms内核解析之六 处理接收到的二进制数据