博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
温度传感器+I2C+串口+PC上位机(pyserial)例子
阅读量:7155 次
发布时间:2019-06-29

本文共 1691 字,大约阅读时间需要 5 分钟。

  hot3.png

温度传感器+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 serialimport structport = 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()

150012_9tKl_25213.jpg

150013_7RXR_25213.jpg

150014_cBTa_25213.jpg

150016_yUrc_25213.jpg

转载于:https://my.oschina.net/hemiya/blog/295100

你可能感兴趣的文章
【2016.3.16】作业 VS2015安装&单元测试(1)
查看>>
JS中的prototype
查看>>
go 通过 channel 控制并发任务
查看>>
集合 ArrayList 类
查看>>
服务器主逻辑代码的重构
查看>>
设置DataGridView中表头颜色
查看>>
MySql的一些小用法
查看>>
linux CANopenSocket 初试
查看>>
python print 显示不同的字体
查看>>
软考高级(二)
查看>>
linux tar.gz zip 解压缩 压缩命令
查看>>
java第三次作业
查看>>
C++ unordered_map map
查看>>
念奴娇·登多景楼
查看>>
Ubuntu Linux环境变量
查看>>
通用数据库访问类(泛型实现)
查看>>
测试用例的代码复用
查看>>
国内一些大公司的开源项目
查看>>
Redis学习笔记(5)-Set
查看>>
两种查找bapi的方法
查看>>