移远EC600U-CN开发板 11.22

主界面功能按键:

1.打开端口按钮:

uart1 = UART(UART.UART2,9600, 8, parity, 1, 0)  #构造串口对象
def OpenEvent(evt):
    global uart1
    openBtn =  evt.get_code()
    if openBtn == lv.EVENT.CLICKED:
        if labelOpenBtn.get_text() == "打开端口":
            uart1 = UART(UART.UART2,int(baudRate.get_text()), int(dataBits.get_text()), parity, int(stopBits.get_text()), 0)   
            labelOpenBtn.set_text("关闭端口") 
        else:
            uart1.close()
            labelOpenBtn.set_text("打开端口") 

openBtn = lv.btn(mainInterface) 
openBtn.align(lv.ALIGN.TOP_RIGHT,-20,30)
labelOpenBtn = lv.label(openBtn)
labelOpenBtn.set_text('打开端口')
  
openBtn.add_event_cb(OpenEvent,lv.EVENT.ALL,None)

2.历史记录按钮

def event_handler2(evt):
    code = evt.get_code()

    if code == lv.EVENT.VALUE_CHANGED:
        source = evt.get_current_target()
        date = lv.calendar_date_t()
        if source.get_pressed_date(date) == lv.RES.OK:        
            calendar.set_today_date(date.year, date.month, date.day)
            chart = lv.chart(historyInterface)
            chart.set_size(200, 150)
            chart.align(lv.ALIGN.RIGHT_MID,0,0)
            chart.set_type(lv.chart.TYPE.LINE)   # Show lines and points too

            # Add two data series
            ser1 = chart.add_series(lv.palette_main(lv.PALETTE.RED), lv.chart.AXIS.PRIMARY_Y)
            ser2 = chart.add_series(lv.palette_main(lv.PALETTE.GREEN), lv.chart.AXIS.SECONDARY_Y)
            print(ser2)
            # Set next points on ser1
            chart.set_next_value(ser1,10)
            chart.set_next_value(ser1,10)
            chart.set_next_value(ser1,10)
            chart.set_next_value(ser1,10)
            chart.set_next_value(ser1,10)
            chart.set_next_value(ser1,10)
            chart.set_next_value(ser1,10)
            chart.set_next_value(ser1,30)
            chart.set_next_value(ser1,70)
            chart.set_next_value(ser1,90)

            # Directly set points on 'ser2'
            ser2.y_points = [90, 70, 65, 65, 65, 65, 65, 65, 65, 65]
            chart.refresh()      #  Required after direct set

def historyEvent(evt):
    code =  evt.get_code()
    if code  == lv.EVENT.CLICKED:
       lv.scr_load(historyInterface)

historyBtn = lv.btn(mainInterface)      #历史记录按钮
historyBtn.align(lv.ALIGN.BOTTOM_LEFT,20,-40)
labelHistoryBtn = lv.label(historyBtn)
labelHistoryBtn.set_text('历史记录')
historyBtn.add_event_cb(historyEvent, lv.EVENT.ALL, None)

3.获取数据按钮 

def getData(evt):
    global uart1
    getDataBtn =  evt.get_code()           
    if getDataBtn == lv.EVENT.CLICKED:
        uart1.write("\x03\x03\x00\x40\x00\x04""44\x3F")
        time.sleep(1)
        arr = uart1.read(13)
        for i in arr:
            print(((hex(int(i))).upper()[2:]),end=' ')
        zhuodu = int(str((hex(int(arr[3]))).upper()[2:])+str((hex(int(arr[4]))).upper()[2:])+str((hex(int(arr[5]))).upper()[2:])+str((hex(int(arr[6]))).upper()[2:]),16)
        zengyi = int(str((hex(int(arr[7]))).upper()[2:])+str((hex(int(arr[8]))).upper()[2:])+str((hex(int(arr[9]))).upper()[2:])+str((hex(int(arr[10]))).upper()[2:]),16)
        print(zhuodu)
        label.set_text(str(zhuodu/1000))
        averageTurbidityValue.set_value(int(zhuodu/10))
        print(zengyi)
        label3.set_text(str(zengyi))
        averageGainValue.set_value(int(zengyi/1000))
        time.sleep(1)

averageTurbidityValue = lv.arc(mainInterface)     #平均浊度值弧
averageTurbidityValue.set_end_angle(200)
averageTurbidityValue.set_size(150,150)
averageTurbidityValue.align(lv.ALIGN.CENTER,-120,0)
averageTurbidityValue.add_event_cb(event_cb, lv.EVENT.VALUE_CHANGED, None)
averageTurbidityValue.set_range(0,3000)
label = lv.label(averageTurbidityValue)

label2 = lv.label(mainInterface)
label2.align(lv.ALIGN.CENTER,-120,0)
label2.set_text("平均浊度值")

averageGainValue = lv.arc(mainInterface)        #平均增益值弧
averageGainValue.set_size(150,150)
averageGainValue.align(lv.ALIGN.CENTER,120,0)
averageGainValue.add_event_cb(event_cb1, lv.EVENT.VALUE_CHANGED, None)
averageGainValue.set_range(0,200000)
label3 = lv.label(averageGainValue)

getDataBtn = lv.btn(mainInterface)  #获取数据按钮
getDataBtn.align(lv.ALIGN.BOTTOM_MID,0,-40)
getDataBtnLabel = lv.label(getDataBtn)
getDataBtnLabel.set_text('获取数据')
getDataBtn.add_event_cb(getData,lv.EVENT.ALL, None)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值