如何实现Python与STM32通信方式-创新互联
这篇文章给大家分享的是有关如何实现Python与STM32通信方式的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
专注于为中小企业提供成都网站建设、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业运河免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。在网上看见python库pyserial可以实现此功能,便去官网找了一下 ,附上官网pyserial档链 接:https://pyserial.readthedocs.io/en/latest/pyserial.html#overview
首先在windows的CMD命令管理器中安装pyserial,直接在CMD中键入如下字符
pip install pyserial
再将Stm32用USB连接到电脑,打开设备管理器显示端口为COM14,然后在python中写下
import serial #连接串口 serial = serial.Serial('COM14',115200,timeout=2) #连接COM14,波特率位115200 if serial.isOpen(): print ('串口已打开') else: print ('串口未打开') #关闭串口 serial.close() if serial.isOpen(): print ('串口未关闭') else: print ('串口已关闭')
运行后出现下图,记住在代码要在最后要用 serial.close() 函数去关闭串口,否则下次会打不开串口,会报错.
之后我们在Stm32的代码中写入如下示例代码,模板来自正点原子的示例代码:
while(1) { if (USART_RX_STA&0x8000) { len = USART_RX_STA&0x3FFF; for (t=0;t该32的代码实现的功能为USART接受数据并返还给发送数据方.
在python编译器中写下数据接收与发送的完整代码:
import serial #连接串口 serial = serial.Serial('COM14',115200,timeout=2) if serial.isOpen(): print ('串口已打开') data = b'Beking\r\n' #发送的数据 serial.write(data) #串口写数据 print ('You Send Data:',data) while True: data = serial.read(20) #串口读20位数据 if data != b'': break print ('receive data is :',data) else: print ('串口未打开') #关闭串口 serial.close() if serial.isOpen(): print ('串口未关闭') else: print ('串口已关闭')运行结果为下图,发送的数据为 b'Beking\r\n' 接收数据为 b'Beking' .( 在正点原子的数据接受数据中要有\r\n字符,否则会接收不到(可以在代码中更改))
感谢各位的阅读!关于“如何实现Python与STM32通信方式”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
分享标题:如何实现Python与STM32通信方式-创新互联
网页网址:http://scyanting.com/article/dgoois.html