【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单片机串口通信相关推荐

  1. c51单片机串口通信电脑向单片机发送数据

    main.c #include <REGX52.H> #include "UART.H"void Delay(int t) { while(--t); }void ma ...

  2. python3中利用serial模块实现单片机与python上位机的通信(串口调试助手)

    1.指标:    python上位机向单片机发送字符,单片机如果收到的字符为'1',则点亮灯1,如果收到的字符为'2',则点亮灯2:单片机若接受到字符,读取字符后,向python上位机发送字符(1-& ...

  3. 上位机作图软件 监测温度,单片机串口通信无压力

    上位机作图软件 监测温度,单片机串口通信无压力 本帖最后由 zb12138 于 2018-11-11 13:11 编辑 功能 1.与串口调试助手一样,可设串口,自动扫描串口,波特率等等,可收发汉字 2 ...

  4. “Xilinx ZYNQ+TCP通信+Python上位机”实现实时视频传输系统

    笔者在CSDN的第一篇万字长文,请多多支持. 本文是笔者的公众号 IC设计者笔记 文章的转载.很多优质原创内容都会第一时间发布在公众号,欢迎关注公众号,一起交流学习.公众号后台回复"ZYNQ ...

  5. 基于PC与单片机串口通信的温度监控系统程序设计

    基于PC与单片机串口通信的温度监控系统程序设计 1.系统介绍 1)本系统主要讲解基于PC与单片机串口通信的温度监控系统程序设计(如图1),上位机采用常用的PC机,下位机使用的是STC89C52单片机, ...

  6. python上位机开发实例-python上位机

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 若python上位机接受到的字符为"1',则print出ok,如果字符是 ...

  7. 蓝桥杯单片机串口通信学习提升笔记

    今日得以继续蓝桥杯国赛备赛之旅: 有道是 "不知何事萦怀抱,醒也无聊,醉也无聊,梦也何曾到谢桥." 那我们该如何 让这位诗人纳兰 "再听乐府曲 ,畅解相思苦"呢 ...

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

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

  9. 【c#作为上位机控制51单片机(下位机)温度检测】

    文章目录 概要 C#上位机程序 51单片机(下位机)程序 使用DS18B20温度传感器实现测温 小结 概要 通过串口方式与下位机通信,通信协议自定上位机可以实时显示下位机采集到的温度数据  C#上位机 ...

  10. 51单片机-串口通信

    目录 1.什么是通信 1.1.通信的概念 1.2.传送方式 1.3.同步方式 1.4.传送方向 1.5.校验方式 2.单片机串口介绍 2.1.硬件电路 2.2.电平标准 2.3.常见接口 2.4.内部 ...

最新文章

  1. 如何将半页纸论文写到十页?
  2. JupyterLab 3.0发布!
  3. 1032 Sharing (25 分) 【难度: 一般 / 知识点: 链表】
  4. 用户和组相关配置文件
  5. SpringMVC(四)——Ajax技术
  6. 一个torch版本报错
  7. 后台设置 datakeynames
  8. ue4材质节点大全_转载于知乎:UE4 多象限(UDIM)贴图在UE4中的应用
  9. html css js速成_CSS速成课程
  10. python socketserver模块详解_Python: SocketServer模块
  11. Python弹球游戏(tkinter模块编写)
  12. 开源实时视频码流分析软件 VideoEye
  13. arcgis可达性分析
  14. 像计算机科学家那样思考,如何像计算机科学家一样思考?(C语言篇)
  15. github官网访问太慢
  16. 小鸡啄米之React组件内部的API
  17. 千万级用户ms级抽奖N名设计方案
  18. 记2015沈阳区域赛
  19. 计算机网络第一章作业(第8版 谢希仁)
  20. 第一阶段项目(2 body)

热门文章

  1. 【数字IC/FPGA】时钟无毛刺切换
  2. bugku-秋名山老司机
  3. 设计模式----策略模式
  4. 正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。
  5. Java利用数组求某年某日某月是某年的第几天(数组)
  6. 广义相对论-学习记录6-第三章-张量分析与黎曼几何3
  7. python 月初 月末
  8. ignore在mysql中什么意思_ignore是什么意思
  9. 小学-知识与能力【9】
  10. 服务器不能创建对象教务系统,[转]解决强智教务系统非IE下无法创建对象错误...