现在的笔记本几乎都不带串口了,买了Mac之后想着Mac的生态,以为USB转串口无望,没想到竟然有PL2303和CH340的驱动!!!惊不惊喜,意不意外!
原本以为手头上的是PL2303,调试了许久一直未成功,没想到IC竟然是CH340,更没想到的是这又是更大的一个坑了。安装好CH340驱动之后,接入就“蓝屏”(6国语言)网上搜了好久才发现原因,详情见链接http://download.makeblock.com/mblock/CH34x_Install_V1.3.pkg
更换了这个驱动之后就可以正常工作了。
安装好驱动之后打开中端,输入下面连个语句查询是否有串口
cd /dev
sl tty.*
如下图:
串口调试工具用的是免费软件CoolTer,网上可以搜到,就不贴链接了
首先,选择port,刚开始没注意,老是失败,结果发现选到蓝牙的port去了。
再者,设置波特率,这个跟下位机的波特率一致就行。
最后,配置好之后点击Connect就可以接收到下位机的数据了(请先确定下位机正常工作)!
下位机我用的是MSP430作为主机,向电脑发送数据,其实我挂载了一个DHT11,把DHT11采集到的温湿度数据传回Mac,这才是最初调试串口的原因。
DHT11使用的是单总线传输数据,是达拉斯公司的专利(现美信所持有)。
DHT11的数据构成,总5个Byte,Byte0和Byte1是湿度的整数和小数的数据,Byte2和Byte3是温度的整数和小数,Byte4校验位。
必须注意的是Byte1和Byte4是始终为0的,当时就是因为读取到这两个byte异常,一度以为驱动有问题。关于校验位,Byte0+Byte3=Byte4.
python代码:
import serial
ser=serial.Serial("/dev/tty.wchusbserial1420",115200,timeout=0.5) #打开串口,设置波特率,和超时时间
#print(ser.name) #测试用
ser.open
while(1): #因为只是测试用,所以粗暴的用了while(1)循环,查询串口数据,不建议
s = ser.read(13)
print(s) #打印串口读到的数据
好啦,到此为止,串口工作正常,可以利用Python尽情玩耍啦!!!!
最最最最后,转载请注明出处哟,觉得写得好点个赞,觉得帮助到了你也可以点赞赏,请我喝一杯茶。^_^ 有问题请留言
https://www.jianshu.com/p/9d67e43e795f