Micropyth关于_thread(多线程)开发的二次应用

摘要:
介绍了_thread(多线程)的基础讲解,这次将结合UART(串口)开进行开发应用讲解。串口在日常的设计中是一个非常常见的东西,所以熟练掌握是基本知识。下面,就来介绍一下关于串口与_thread 结合的一个小程序。下面是所需要准备的东西。

硬件设计:
Rasspberry Pi Pico开发板(应用Micropython开发)
USB转TTL开发板
软连线

上面显示了其连线示意图。

演示代码:

思路:当程序运行时,在串口发送字符,其显示温度,若不发送字符时,其显示时间参数,时间参数显示在程序行窗口。

import _thread
import machine
import utime
from machine import UART,Pin,ADC
 
temp = ADC(4)
uart = UART(0,baudrate = 115200,bits = 8,parity = None,stop = 1,tx = Pin(0),rx = Pin(1))
led = Pin(25,Pin.OUT)
gLock = None
 
//温度显示
def temperate():
    
    read_temp_voltage = temp.read_u16()*3.3/65535
    temperature = 27-(read_temp_voltage-0.706)/0.001721
    uart.write('Temperature {}\n'.format(temperature))
 
//显示时间
def data():
    print(utime.localtime())
 
def main():
    print('---------Start Progarm-----------\n')
    utime.sleep(1)
    print('-----请输入任意字符,以显示温度----\n')
    while True:
        gLock = _thread.allocate_lock()
        gLock.acquire()
        if uart.any() :
             print('Echo String:{}'.format(uart.readline().decode()))
             _thread.start_new_thread(temperate,())
             utime.sleep(2)     
             led.value(1)
        else:
             print('------当前时间为如下所示-------')
             _thread.start_new_thread(data,())
             utime.sleep(2)
        gLock.release()
         
if __name__ == '__main__':
    main()

示例结果:

 

 

 

我们在串口软件中输入任意字符,都将会引发进程,从而调用温度显示模块,从而将温度显示在串口界面。

当我们串口不发送字符时,我们会得到以下结果,其只进行线程2的调用,即只显示时间。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值