Python上位机与C51单片机串口通信
【Python串口通信理解】
【Python串口通信指令】
Python3以上串口通信需要安装pyserial包,我用到的操作比较简单,涉及串口打开、写数据、读数据、关闭串口等操作。
串口打开:ser=serial.Serial(端口名,波特率,……)
写数据:ser.write(内容.encode('utf-8'))
读数据:ser.read(1)
关闭串口:ser.close()
【Python上位机代码】
import easygui as gui
import sys
import serial
#代码行执行打开串口及发送内容时,打开串口与发送内容之间要间隔0.5秒以上,不然无法发出内容
def main():stflag='s'gui.msgbox('上位机程序:波特率4800,COM5')ser = serial.Serial('COM5', 4800)if gui.ccbox('确定开始吗', '启动',choices=['确定','取消']):if ser.isOpen():ser.write(stflag.encode("utf-8"))#发送信息编解码可以utf-8,也可以使用ascii编码_=ser.read(1)#初次读取串口为0,第一次读取删去rec = ser.read(1)print(rec.decode("utf-8"))else:print('串口未正常开启')sys.exit(0)else:ser.close()sys.exit(0) # 选择取消,退出程序
if __name__ == "__main__":main()
【C51代码】
#include <REGX52.H>
void UART_Init()//4800 @11.0592 波特率不加倍
{PCON |= 0x80; SCON = 0x50; TMOD &= 0x0F; TMOD |= 0x20; TL1 = 0xF4; TH1 = 0xF4; ET1 = 0; TR1 = 1; EA=1;//允许中断ES=1;
}void UART_SendByte(unsigned char Byte)
{SBUF=Byte;while(TI==0);TI=0;
}unsigned char serialflag=0;//定义串口交互成功标志位
void main()
{UART_Init();while(1){}
}void UART_Routine() interrupt 4
{if(serialflag==0) //初次接收上位机启动交互信息 {if (SBUF==0x73){P1=0x00;UART_SendByte('y');serialflag=1;}}else P1=SBUF;//标志位变更,后续连续接收上位机信息RI=0;
}
参考链接:
python库之pyserial用法,pyserial和serial的区别_Electrical_IT的博客-CSDN博客_pyserial
Python 实现串口调试助手_felix_fang_xin的博客-CSDN博客_python 串口助手
Python上位机与C51单片机串口通信相关推荐
- c51单片机串口通信电脑向单片机发送数据
main.c #include <REGX52.H> #include "UART.H"void Delay(int t) { while(--t); }void ma ...
- python3中利用serial模块实现单片机与python上位机的通信(串口调试助手)
1.指标: python上位机向单片机发送字符,单片机如果收到的字符为'1',则点亮灯1,如果收到的字符为'2',则点亮灯2:单片机若接受到字符,读取字符后,向python上位机发送字符(1-& ...
- 上位机作图软件 监测温度,单片机串口通信无压力
上位机作图软件 监测温度,单片机串口通信无压力 本帖最后由 zb12138 于 2018-11-11 13:11 编辑 功能 1.与串口调试助手一样,可设串口,自动扫描串口,波特率等等,可收发汉字 2 ...
- “Xilinx ZYNQ+TCP通信+Python上位机”实现实时视频传输系统
笔者在CSDN的第一篇万字长文,请多多支持. 本文是笔者的公众号 IC设计者笔记 文章的转载.很多优质原创内容都会第一时间发布在公众号,欢迎关注公众号,一起交流学习.公众号后台回复"ZYNQ ...
- 基于PC与单片机串口通信的温度监控系统程序设计
基于PC与单片机串口通信的温度监控系统程序设计 1.系统介绍 1)本系统主要讲解基于PC与单片机串口通信的温度监控系统程序设计(如图1),上位机采用常用的PC机,下位机使用的是STC89C52单片机, ...
- python上位机开发实例-python上位机
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 若python上位机接受到的字符为"1',则print出ok,如果字符是 ...
- 蓝桥杯单片机串口通信学习提升笔记
今日得以继续蓝桥杯国赛备赛之旅: 有道是 "不知何事萦怀抱,醒也无聊,醉也无聊,梦也何曾到谢桥." 那我们该如何 让这位诗人纳兰 "再听乐府曲 ,畅解相思苦"呢 ...
- 通过python实现安卓手机与stm32串口通信
一.材料 (1)安卓终端1台,本文使用的魅蓝手机 (2)stm32微控制器(可以串口通信的) 二.通信内容 上位机发送AA,熄灭stm32上的LED灯 上位机发送BB,点亮stm32上的LED灯 上位 ...
- 【c#作为上位机控制51单片机(下位机)温度检测】
文章目录 概要 C#上位机程序 51单片机(下位机)程序 使用DS18B20温度传感器实现测温 小结 概要 通过串口方式与下位机通信,通信协议自定上位机可以实时显示下位机采集到的温度数据 C#上位机 ...
- 51单片机-串口通信
目录 1.什么是通信 1.1.通信的概念 1.2.传送方式 1.3.同步方式 1.4.传送方向 1.5.校验方式 2.单片机串口介绍 2.1.硬件电路 2.2.电平标准 2.3.常见接口 2.4.内部 ...
最新文章
- 如何将半页纸论文写到十页?
- JupyterLab 3.0发布!
- 1032 Sharing (25 分) 【难度: 一般 / 知识点: 链表】
- 用户和组相关配置文件
- SpringMVC(四)——Ajax技术
- 一个torch版本报错
- 后台设置 datakeynames
- ue4材质节点大全_转载于知乎:UE4 多象限(UDIM)贴图在UE4中的应用
- html css js速成_CSS速成课程
- python socketserver模块详解_Python: SocketServer模块
- Python弹球游戏(tkinter模块编写)
- 开源实时视频码流分析软件 VideoEye
- arcgis可达性分析
- 像计算机科学家那样思考,如何像计算机科学家一样思考?(C语言篇)
- github官网访问太慢
- 小鸡啄米之React组件内部的API
- 千万级用户ms级抽奖N名设计方案
- 记2015沈阳区域赛
- 计算机网络第一章作业(第8版 谢希仁)
- 第一阶段项目(2 body)
热门文章
- 【数字IC/FPGA】时钟无毛刺切换
- bugku-秋名山老司机
- 设计模式----策略模式
- 正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。
- Java利用数组求某年某日某月是某年的第几天(数组)
- 广义相对论-学习记录6-第三章-张量分析与黎曼几何3
- python 月初 月末
- ignore在mysql中什么意思_ignore是什么意思
- 小学-知识与能力【9】
- 服务器不能创建对象教务系统,[转]解决强智教务系统非IE下无法创建对象错误...