断断续续学了几周Stm32后,突然想实现上位机和下位机的通信,恰好自己学过一点python,便想通过python实现通信.

首先在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

{

USART_SendData(USART1,USART_RX_BUF[t]);

while (USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);

}

USART_RX_STA=0;

}

else

{

times++;

if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行.

delay_ms(10);

}

}

该32的代码实现的功能为USART接受数据并返还给发送数据方.

在python编译器中写下数据接收与发送的完整代码:

import serial

#连接串口

serial = serial.Serial('COM14',115200,timeout=2)

if serial.isOpen():

print ('串口已打开')

data = b'Beking ' #发送的数据

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 ' 接收数据为 b'Beking' .( 在正点原子的数据接受数据中要有 字符,否则会接收不到(可以在代码中更改))

如此就可以实现python与Stm32的简单数据接发,要是想实现更为复杂,更为实用的上位机与下位机通信,可以参考文首给出的pyserial文档链接.

以上这篇实现Python与STM32通信方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

python stm32-实现Python与STM32通信方式相关推荐

  1. python 开发板-MicroPython:STM32 上 的 Python 开发

    虽然Python在国外是一门非常火的语言,在黑客界更是赫赫有名,然而中国的大学却极少开设 Python 课程,故而国内 Python 程序员多属自学.而一个没有MCU编程经验的初学者,要想让芯片跑起来 ...

  2. 通过python实现安卓手机与stm32串口通信

    一.材料 (1)安卓终端1台,本文使用的魅蓝手机 (2)stm32微控制器(可以串口通信的) 二.通信内容 上位机发送AA,熄灭stm32上的LED灯 上位机发送BB,点亮stm32上的LED灯 上位 ...

  3. 单片机可以用python编程吗,python可以单片机编程吗

    python 能用来写单片机程序么? 谷歌人工智能写作项目:小发猫 python能不能开发单片机 Python语言能不能直接应用到STC15单片机上 不可以哦!目前支持单片机最好的就是Keil C/C ...

  4. Python培训:Python有哪些函数?你了解几种?

    本期小编要为大家带来的Python教程就是关于Python函数这方面的,我们都知道Python函数,一般是指组织好的.可重复使用的.用来实现单一或相关联功能的代码段,Python函数包含系统中自带的一 ...

  5. python新手任务:python循环嵌套

    2019独角兽企业重金招聘Python工程师标准>>> Python 循环嵌套 Python 语言允许在一个循环体里面嵌入另一个循环. Python for 循环嵌套语法: Pyth ...

  6. 零基础学stm32要多久?stm32应该怎么学?

    STM32由于资料丰富.稳定.性价比高深得广大工程师和企业的喜爱. 现在随便在招聘平台上搜索单片机开发或者嵌入式开发,基本都要求会STM32. 我用STM32也有很多年了,基本上是围绕着F103.F0 ...

  7. Python入门 Python自学路线 Python如何学习

    本文介绍Python入门 Python自学路线 Python如何学习.先说点题外话吧:首先呢,我刚开始接触编程的时候,学的是C,那时候Python还没有这么火,后来学了C++,PHP,Java,前端. ...

  8. 黑客都用Python?学习Python的4个理由!

    2019独角兽企业重金招聘Python工程师标准>>> Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 重点是,Python 是一种对初学者非常友好的 ...

  9. python 3 最佳python中文书籍下载

    筛选了2年内优秀的python书籍,个别经典的书籍扩展到5年内. 尽量只收集通用的书籍,专用的书籍只收集特别优秀者. python专业书籍汇总 Python基础教程(第3版) - 2017.pdf 图 ...

  10. 【循序渐进学Python】1. Python基础知识

    1. Python安装和配置 首先需要到Python的官方网站(http://www.python.org/getit/) 下载安装包,现在Python的发行版分为兼容之前Python程序的Pytho ...

最新文章

  1. 中国冶金工业节能减排行业十四五投资动态与运营方向调研报告2022-2027年
  2. 广度优先遍历二叉树(BFS)-C++实现
  3. Pytorch的网络结构可视化:Netron与TensorBoardX
  4. rabbitmq 集群 ha负载 Consumer raised exception, processing can restart if the connection factory
  5. 给做IT的一点心理安慰
  6. zabbix3.4监控java_CentOS7,zabbix3.4通过,zabbix-Java-gateway监控Tomcat
  7. C++学习系列笔记(五)
  8. Tcl与Design Compiler (十)——其他的时序约束选项(一)
  9. eclipse中设置java注释模板
  10. python按键盘上哪个键运行_python按什么键运行
  11. 移除span的html,从最后一个span元素的伪元素内容中移除::
  12. android fota解决方案,Android智能终端FOTA方案的制作方法
  13. Spring3开发实战 之 第四章:对JDBC和ORM的支持
  14. 如何使用磁性套索工具进行抠图
  15. OpenGL学习笔记--配置VS环境
  16. 人工神经网络理论及应用pdf,人工智能的相关书籍
  17. matlab求心率变异性的程序,心率变异性及其相关算法的实现
  18. 锻炼完美腹肌的7条原则
  19. 小米的抢购骗局+小米的抢购页面的源代码分析(二)文本数组的分析
  20. 3.7 Feature envy(依恋情结)

热门文章

  1. C. Number of Ways(前缀和)
  2. python基础/编程语言,解释器和pycharm的安装
  3. Java 转型问题(向上转型和向下转型)
  4. vue项目如何部署到Tomcat中
  5. 强大的原生DOM选择器querySelector和querySelectorAll
  6. 【微服务】之六:轻松搞定SpringCloud微服务-API网关zuul
  7. C#.NET操作数据库通用类(MS SQL Server篇)
  8. MS 的SPACE很不好的说
  9. 四则运算计算器的微信小程序_1 界面
  10. django博客项目8:文章详情页