从拿到MicroPython的板子,一直没有正式发过帖子,两周以来其实一直都在捣鼓这块心爱的小板。由于之前对python完全不了解,这两周是一边看python一边折腾板子。之前还在一直发愁这个18b20的驱动呢,直到看了@dcexpert版主的帖子【MicroPython】使用DS1820单总线温度传感器,才知道官网有这个驱动,拿来一试,果然好使,于是结合UART将温度传感器的值发送到上位机那是顺理成章的事情。在这个过程中,我发现MicroPython和Python还是有一些差别的,并不是完全一样,要是完全一样,我觉得用起来会更方便。在将温度传感器读到的浮点的温度值转换为字符型的时候,开始用的map()函数,发现不好使,但是在python2.7上是可以的,没办法,最后用了格式化字符串的方法,类似于vc++里面的format()函数,用起来倒也还是挺方便的。
18B20的驱动这里就不贴了,贴上main.py文件。用定时器时间周期读温度数据不知道为什么总是进不了中断,只能用while True了。
- from pyb import Pin,UART,Timer
- from ds18x20 import DS18X20
-
- uart=UART(1,9600)
- tim=Timer(1,freq=5000)
- tim.counter()
- tim.freq(0.5)
- Pin("Y11",Pin.OUT_PP).low()
- Pin("Y9",Pin.OUT_PP).high()
- pyb.delay(100)
- d=DS18X20(Pin('Y10'))
- while True:
- t1=d.read_temp()#读取DS18B20的温度
- t2='%.3f' %t1#将浮点数转换为字符串
- uart.write('DS18B20当前温度:')
- uart.write(t2)#UART1发送字符串
- uart.write('℃')
- uart.write('\r\n')
- pyb.delay(4000)
自己写的一个简单的串口助手,由于时间仓促,功能比较简单,界面比较丑陋,后期再根据功能重新做界面。
发现还是对python语言还是非常不熟悉,后面还得继续学习。后面如果时间允许我想上位机也用python来做,非常想看看用python做出了是什么效果。一起加油吧。
本帖最后由 xinmeng_wit 于 2016-4-24 19:14 编辑