初识串口通信

最近公司在做一项目,主要是与硬件进行通信,android端是pad,硬件对应的是单片机。

pad与单片机连接主要有两种方式,一种是通过串口线直接连接(一般pad上没有串口接口),一种是通过Usb转串口与单片机连接。我这边用的是通过串口线直接连,而且公司新买了一个工业Pad,上面有串口接口。

具体的项目在github上:https://github.com/kunofhan/ProjectofChuankou

因为是第一次接触与硬件通信的项目,所以遇到很多坑:

1、在与电脑进行模拟调试的时候pad上能读出去,但是串口调试工具上接收不到数据,而且pad也接收不到数据,最后发现是串口名称找错了,硬件上的串口接口连接对了,但是接口名称是别的接口,刚开始以为是软件问题,网上各种百度,github上各种项目下载都没用。官方给的android_serailport_api里面有查找串口名称的API,找到所有的串口名称选择不同的串口名称进行调试,最后发现是串口名称错了,搞了两天,一个大写的尴尬。

2、在传输数据的时候数据出现问题,传的数据(pad)和接收(串口调试工具)的数据不一样,但是TX 与RX短接数据就是对的。是USB转串口线的问题(电脑上是Usb口接收的),发送的时候用的是RS232芯片,接收的时候是别的芯片(具体什么芯片忘了),出现了数据紊乱问题。更换串口线就OK了。

3、在不断接收数据的时候需要不断的刷新界面,以ms级为单位,出现了界面卡顿的现象,目前暂未解决

最主要的还是对数据的解析,因为协议的问题,单片机传过来的数据每个bit都是有定义的,而且pad读到的数据是连续的,需要在收到数据是再把数据截成完整的包,这样展示数据时才会更方便,只对完整的包做操作。

后续待更新。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值