温度传感器+I2C+串口+PC上位机(pyserial)例子

例子写的有点乱,主要是学习:

温度传感器DS18b20,E2PROM,I2C, 串口读写,PC上位机(pyserial)数据显示

SerialPort.py PC串口上位机程序,可以设定上限报警温度

需要安装Python3以上,pyserial库,例子在Python3.4下写的。

上位机传给单片机上限报警温度后,单片机存入E2PROM,

单片机断电重启后,从E2PROM读取报警值。

i2c.h I2C总线读写和设定

lcd1602.h lcd1602的读写和设定

temp_ds18b20.h DS18b20的读写和设定

#define AT24C02 0xa0// AT24C02 写数据的设备地址

#define MAX_TEMP_E2PROM_FLAG 0xff// 上限报警温度的存储器数据标志,存在说明存储器有数据

sbit power_port = P2^3;// 报警端口

int max_temp = 340;// 报警上限温度,默认340

int max_temp_buf = 0;// 报警上限温度缓存,用于串口

int sp_read_count = 0;// 串口数据,读取的字节计数

bit sp_read_flag = 0;// 串口读取标志

uint8 buf_byte;// 串口数据缓存

串口通信和E2PROM和I2C总线 例子下载:

#!/usr/bin/env python

#encoding=utf-8

"""

=============================================================================

单片机例子,上位机

版权所有 (C) 君扬工作室 2014-07-26

文档作者:君扬工作室(cnhemiya@gmail.com)

更新标识:2014-07-26 14:00:00 cnhemiya@gmail.com

=============================================================================

"""

import serial

import struct

port = 2 # 串口号

baudrate = 4800 # 波特率

max_temp = 335 # 报警温度

ser = serial.Serial()

def writeTemp(temp):

h = int(temp / 256)

l = temp % 256

data = struct.pack(("B"), h)

ser.write(data)

data = struct.pack(("B"), l)

ser.write(data)

def readTemp():

print(ser)

while (1):

h = ser.read()

l = ser.read()

m = int.from_bytes(h + l, byteorder='big', signed=False)

s = str(m)

s = s[0] + s[1] + "." + s[2] + "℃"

print(s)

def main():

ser.setPort(port) # 设置串口号

ser.setBaudrate(baudrate) # 设置波特率

ser.open()

writeTemp(max_temp)

readTemp()

ser.close()

if __name__ == "__main__":

main()

python串口上位机画图_温度传感器+I2C+串口+PC上位机(pyserial)例子相关推荐

  1. 一定是h的方式不对阅读_大连二手QH69系列H型钢抛丸机厂商_深蓝永盛二手抛丸机...

    首页 > 新闻中心 发布时间:2020-12-12 01:12:11 导读:深蓝永盛二手抛丸机为您提供大连二手QH69系列H型钢抛丸机厂商的相关知识与详情: 在安装砂轮时,必须在上表面和下表面放 ...

  2. rxtx串口事件不触发_一种串口高效收发思路及方案

    摘要:本文在探讨传统数据收发不足之后,介绍如何使用带FIFO的串口来减少接收中断次数,通过一种自定义通讯协议格式,给出帧打包方法:之后介绍一种特殊的串口数据发送方法,可在避免使用串口发送中断的情况下, ...

  3. 中软国际python机试题_中软国际入职机试题.doc

    中软国际入职机试题 1 邮箱地址合法性验证,合法输出字符"1",不合法输出字符"0" 合法条件: A 仅包含一个"@". B 最后三位必须是 ...

  4. 用python画气球循环画图_大话编程:非常有趣的循环(Python语言可视化海龟画图演示)...

    在日常工作和生活中,我们经常会遇到一件事情要重复做很多次的这种情况发生.在编程中,我们也会遇到这种情况,循环这种机制,就是专门用来处理这种需要不断重复做的事情的方法.通过几分钟的阅读,你将会掌握这种机 ...

  5. python相关性分析及画图_数据分析Python手绘图形库有哪些?

    数据分析Python手绘图形库有哪些,今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts. 和 Matplotlib .pyecharts 等常见的图表不同,使用这个包 ...

  6. 中软国际python机试题_中软国际入职机试题[优质资料]

    资料 - 参考 1 1 邮箱地址合法性验证,合法输出字符" 1 ",不合法输出字符" 0 " 合法条件: A 仅包含一个" @ ". B 最 ...

  7. 中软python机试_中软国际入职机试题

    1 1 邮箱地址合法性验证,合法输出字符" 1 ",不合法输出字符" 0 " 合法条件: A 仅包含一个" @ ". B 最后三位必须是&q ...

  8. 串口屏应用案例_大彩串口屏在节水灌溉设备行业的应用方案

    一.节水灌溉设备产品概述 节水灌溉设备是指具有节水功能用于灌溉的机械设备的统称.其种类主要有喷灌式.微灌式.全塑节水灌溉系统(又包括:软管三通阀,低压出地阀,半固定式喷灌与移动式).农业作为国家的经济 ...

  9. 安卓2.3刷机包_红米K20Pro 安卓Q刷机包下载+刷机教程

    继小米9和小米MIX3 5G版之后,小米旗下子品牌,红米K20Pro也支持刷入安卓Q版本刷机包了 这是小米旗下第三款可以快速升级安卓Q的机型,也足以说明这块产品在小米的重要性 我们也已经整理了Redm ...

最新文章

  1. 8种常用图像处理算法
  2. 初识python 2.x与3.x 区别
  3. 打印容器_3D打印:增材点阵结构在压力容器优化设计中的应用
  4. android cursor 空,java – Android:即使数据库不为空,Cursor也总是返回null
  5. spring12----基于@AspectJ的AOP
  6. radius java_Java处理Radius access-challenge
  7. C++bitset二进制有序集
  8. Php开发银行接口之浦发银行
  9. java电影购票系统_Java Swing实现电影购票系统项目
  10. php 魔方加密还原,PHP魔方解密 - osc_80l29rkk的个人空间 - OSCHINA - 中文开源技术交流社区...
  11. 双三次插值算法(bicubic interpolation)与图形学和计算方法的关系
  12. 双非本科地信前端面试题目
  13. iOS 11 正式发布!最全功能介绍 + 视频 ...
  14. JQuery 判断浏览器及其版本
  15. freeRTOS — 软件定时器的使用
  16. 贪财好色,做个俗人。
  17. 朋友圈一杠中间一个点_开启朋友圈3天可见,你不知道的秘密
  18. 点灯 arduino玛克君
  19. 一文带你读懂“经典TRIZ”
  20. 一个黑色全屏的计时器_一个蒙版,搞定层次感

热门文章

  1. 微软Power BI报表服务器学习总览
  2. Day4 MySql触发器视图索引以及设计优化
  3. 【调研】在总体为n的情况下,多少样本有代表性?
  4. EularProject 39:给周长推断构成直角三角形个数
  5. Codeforces 432D Prefixes and Suffixes(KMP+dp)
  6. ZOJ 1234 UVA 10271 Chopsticks
  7. Python CGI 编程 | 类FieldStorage的使用
  8. 4- Mybatis 的参数深入
  9. windows系统启用2个以上的mysql服务
  10. 布隆过滤器误判_布隆过滤器原理