Python3 串口接收与发送16进制数据包的实例

如下所示:

import serial

import string

import binascii

s=serial.Serial('com4',9600)

s.open()

#接收

n=s.inwaiting()

if n:

data= str(binascii.b2a_hex(s.read(n)))[2:-1]

print(data)

#发送

d=bytes.fromhex('10 11 12 34 3f')

s.write(d)

s.close()

以上这篇Python3 串口接收与发送16进制数据包的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2019-06-10

其实网上已经有许多python语言书写的串口,但大部分都是python2写的,没有找到一个合适的python编写的串口助手,只能自己来写一个串口助手,由于我只需要串口能够接收读取数据就可以了,故而这个串口助手只实现了数据的接收读取. 创建串口助手首先需要创建一个类,重构类的实现过程如下: #coding=gb18030 import threading import time import serial class ComThread: def __init__(self, Port='COM3

本文实例讲述了Python简单实现TCP包发送十六进制数据的方法.分享给大家供大家参考,具体如下: 举例: 0x12, 0x34可以直接拼成 "\x12\x34". 客户端代码示例: #-*- encoding: utf-8 -*- import json import socket import sys import binascii reload(sys) sys.setdefaultencoding('utf-8') if __name__=="__main__&quo

一.问题描述 如果直接用print打印bytes的话,有时候会直接显示ascii对应的字符,看起来很蛋疼. 二.运行效果 上面一行是直接用print打印的结果,很明显,第一个字节0x7b就被转换成'{'了. 三.代码 那么,如何输入上图中最后一行的格式呢,很简单: def print_hex(bytes): l = [hex(int(i)) for i in bytes] print(" ".join(l)) 以上这篇对python以16进制打印字节数组的方法详解就是小编分享给大家的全

通过引用serial模块包,来操作串口. 1.查看串口名称 在Linux和Windows中,串口的名字规则不太一样. 需要事先查看. Linux下的查看串口命令 root@D2:~# ls -l /dev/ttyS* crw-rw---- 1 root dialout 4, 64 Dec 26 06:53 /dev/ttyS0 crw-rw---- 1 root dialout 4, 65 Dec 26 06:41 /dev/ttyS1 crw--w---- 1 root tty     4,

本文实例讲述了python简单程序读取串口信息的方法.分享给大家供大家参考.具体分析如下: 这段代码需要调用serial模块,通过while循环不断读取串口数据 import time import serial ser = serial.Serial( #下面这些参数根据情况修改 port='COM1', baudrate=9600, parity=serial.PARITY_ODD, stopbits=serial.STOPBITS_TWO, bytesize=serial.SEVENBIT

通过pyshp库,可以读写Shapefile文件,查询相关信息,github地址为 https://github.com/GeospatialPython/pyshp#reading-shapefile-meta-data import shapefile # 使用pyshp库 file = shapefile.Reader("data\\市界.shp") shapes = file.shapes() #

本文以一个简单实例讲述了C程序读取键盘码的方法,分享给大家供大家参考.具体分析如下: 一般来说,键盘码在底层开发中经常会用到,有时候我们会忘记它们,就要急急忙忙的去找 键-码 对照表查看,其实程序可以自己打印出 键-码 对应值 具体实例如下: #include #include int main(void) { int key, modifiers; while ((key=bioskey(0)) != 0 && key!=0x

本文实例讲述了python获取各操作系统硬件信息的方法.分享给大家供大家参考.具体如下: 1. windows 使用WMI: (WMI官网地址:http://pypi.python.org/pypi/WMI 或 点击此处本站下载.) import wmi w=wmi.WMI() cpus=w.Win32_Processor() for u in cpus: print 'cpu id:',u.ProcessorId 运行结果如下: cpu id: BFEBFBFF0001067A cpu id:

1.获取当前执行主脚本方法:sys.argv[0]和_ file _ (1)sys.argv 一个传给Python脚本的指令参数列表.sys.argv[0]是脚本的名字.一般得到的是相对路径,用os.path.abspath(sys.argv[0])得到执行文件的绝对路径: dirname, filename = os.path.split(os.path.abspath(sys.argv[0])) os.path.realpath(sys.argv[0]) 如果在命令行执行sys.argv返回

python记录程序运行时间的三种方法              这里提供了python记录程序运行时间的三种方法,并附有实现代码,最后进行比较,大家参考下: 方法1 import datetime starttime = datetime.datetime.now() #long running endtime = datetime.datetime.now() print (endtime - starttime).seconds 方法 2 start = time.time() run_f

本文实例讲述了python使用nntp读取新闻组内容的方法.分享给大家供大家参考.具体实现方法如下: from nntplib import * s = NNTP('web.aioe.org') (resp, count, first, last, name) = s.group('comp.lang.python') (resp, subs) = s.xhdr('subject', (str(first)+'-'+str(last))) for subject in subs[-10:]: p

本文实例讲述了Python多进程分块读取超大文件的方法.分享给大家供大家参考,具体如下: 读取超大的文本文件,使用多进程分块读取,将每一块单独输出成文件 # -*- coding: GBK -*- import urlparse import datetime import os from multiprocessing import Process,Queue,Array,RLock """ 多进程分块读取文件 """ WORKERS = 4

本文实例讲述了python简单获取数组元素个数的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: mySeq = [1,2,3,4,5]  print len(mySeq) 运行结果如下: 5 希望本文所述对大家的Python程序设计有所帮助.

本文实例讲述了Python简单计算文件夹大小的方法.分享给大家供大家参考.具体如下: import os, re """ 查看文件夹下的所有文件及文件夹 join为拼接函数 """ def Look_File(path): for root , dirs, files in os.walk(path, True): print root #主目录 for item in files: #主目录下的文件夹 print os.path.join(ro

python3.6串口编程实例_Python3 串口接收与发送16进制数据包的实例相关推荐

  1. esp32的uart串口发送16进制通信指令调用实例

    esp32的uart串口发送16进制通信指令调用实例 简介 最近想用esp32通过uart发送的16进制指令来控制一个语言播放模块,记录一下调用uart的过程,请大佬斧正.比较愚笨,过程中踩了很多坑, ...

  2. java串口发送16进制数据_MFC串口通信发送16进制数据的方法

    本文实例为大家分享了MFC串口通信发送16进制数据的具体代码,供大家参考,具体内容如下 MFC串口通信会使用m_mscomm控件. 发送数据一般是在edit control 里输入自己想发送的内容,然 ...

  3. STM32串口发送16进制数据

    方法一(用printf函数) 下面演示两个示例 //说明:用u8或unsigned char都能正常发送//示例 1 u8 send1=0x55; printf("%c",send ...

  4. java socket发送16进制_JavaSocket短连接实现分别接收字符串和16进制数据

    做个笔记,在接收16进制数据的时候乱码了.原因是Socket在接收数据的时候需要根据不同的数据定义不同的接收方式,也就是约定好传输协议(具体体现在后面服务端接收16进制那里). 字符串的发送接收 字符 ...

  5. linux socket接收不到16进制数据,C下通过socket收发十六进制数据解决办法

    C下通过socket收发十六进制数据 系统是在LINUX下,下位机发送十六进制数据过来 上位机怎么解析 把数据以十六进制的形式显示出来,发送十六进制又如何实现 ------解决方案---------- ...

  6. Arduino串口发送与接收16进制数据(HEX)(数据乱码)-JDY-10M组网

    最近使用JDY-10M蓝牙组网,需要Arduino收发数据,将遇到的一些问题与最终解决方法分享给大家,如果内容有问题,还请大家指点. 1.JDY-10M组网 关于如何JDY-10M如何组网网上介绍,这 ...

  7. matlab上位机串口通信中如何发送16进制数,而不是当做ASCII字符发送(已实测成功)

    转载 (找了很长时间,朋友帮忙找到了发送方法) https://zhidao.baidu.com/question/383761631.html 用matlab发送16进制数据,可以用fwrite直接 ...

  8. php接收16进制数据,PHP_PHP 通过Socket收发十六进制数据的实现代码,最近在php下做关于Socket通讯的 - phpStudy...

    $sendStr = '30 32 30 34 03 30 33';  // 16进制数据 $sendStrArray = str_split(str_replace(' ', '', $sendSt ...

  9. java串口发送16进制_串口发送数据——字符串发送与十六进制发送的区别

    在计算机中,数据是以二进制的形式存储的,例如十进制 1(10)在计算机中用 0000 0001(2)来表示.我们在用串口发送数据的时候首先将待数据转换为对应的ASCII码,然后再将这些ASCII码按照 ...

最新文章

  1. 伤感网络验证系统_可验证云数据库架构与设计
  2. 深度学习: 从 RoIPooling 到 RoIAlign
  3. 【pwnable.tw】 death_note
  4. 【线上分享】边缘云跨区域超低延时架构设计与网络优化实践
  5. eclipse加速之禁用JS、jsp等文件的语法验证
  6. 快速搭建MQTT服务器(MQTTnet和Apache Apollo)
  7. 里面怎么定义变量_小哥今天要给朋友们分享一下Java编程语言中的变量与常量的区别...
  8. sv信道模型是什么_Unity Shader|基本光照模型实现中遇到的疑思
  9. -webkit-有意思的属性
  10. 全球单片机的主要厂商和主要型号介绍
  11. 安全测试之sql注入
  12. 马原复习思维导图-前三章
  13. 计算机类课题研究方法,课题研究方法有哪些
  14. 拷机软件 从软件测试中得知自己机器的性能
  15. JavaScript数组filter方法
  16. 基于java的简单英雄联盟胜率计算
  17. lol美服服务器修改密码,如何修改LOL美服密码?英雄联盟美服账号密码和邮箱修改教程...
  18. 如何关掉苹果iMac开机启动声音
  19. 寻找孪生素数 (20 分)
  20. el-table中的树形结构

热门文章

  1. java经典习题-模拟地下城与勇士(DNF)的装备强化
  2. 史上最强跨平台、多端加密同步神器,你有用过吗?
  3. Firefox在iOS设备上登陆国际版账号
  4. 我国以一箭三星方式发射环境一号C卫星
  5. IPO倒计时,比亚迪半导体开启新鏖战
  6. vue中使用echarts绘柱形图+折线图
  7. JavaBeans Activation Framework JAF
  8. Linux系统Python装了没有pip解决办法
  9. Jupyter Notebook设置密码验证
  10. 线上幽灵:世界头号黑客_开放世界设计的经验教训:幽灵行动的故事