ESP32C3 LuatOS TM1650②动态显示累加整数

Lua 复制代码
--注意:因使用了sys.wait()所有api需要在协程中使用
-- 用法实例
PROJECT = "ESP32C3_TM1650"
VERSION = "1.0.0"
_G.sys = require("sys")
local tm1650 = require "tm1650"

-- 拆分整数,并把最低位数存放在数组最大索引处
local function extractDigits(num)
    local digits = {20, 20, 20, 20}
    local index = 4
    
    while num > 0 and index >= 1 do
        digits[index] = num % 10
        num = math.floor(num / 10)
        index = index - 1
    end
    
    return digits
end
--==========数码管显示例子===========
sys.taskInit(function()
    local cnt=1
    local temp
    local result={}
    --共阴段码表,0~9的数字
    local NUM_TABLE_AX = {
        [0]=0x3f,[1]=0x06,[2]=0x5b,[3]=0x4f,[4]=0x66,
        [5]=0x6d,[6]=0x7d,[7]=0x07,[8]=0x7f,[9]=0x6f
    };   
    tm1650.init(5,4,tm1650.MODE_LED_OUTPUT)
    while 1 do
        result=extractDigits(cnt)
        -- print(string.format("result的长度=%d",#result))
        for i = 1, 4 do
            if result[i]~=20 then 
               temp=NUM_TABLE_AX[result[i]]
               --tm1650.print(dig,seg_data) dig的范围是0~3
               tm1650.print(i-1,temp)
                -- print(string.format("result[%d]=%d",i,temp))
            end
        end
        cnt=cnt+1
        sys.wait(100)
    end
end)

sys.run()
相关推荐
leo__5201 小时前
STM32 MAX30102 心率血氧测量代码
stm32·单片机·嵌入式硬件
金色光环5 小时前
【DSP学习】DSP28335 点亮LED
嵌入式硬件·学习·dsp开发
yuan199975 小时前
STM32 IAP 电量计源码
stm32·单片机·嵌入式硬件
学不懂飞行器5 小时前
从小白到国奖:全国大学生电子设计竞赛(电赛)高质量备赛全攻略
stm32·单片机·嵌入式硬件
高翔·权衡之境6 小时前
缓存一致性——多核系统的默契之约
驱动开发·嵌入式硬件·安全·缓存·系统安全·信息与通信
念恒123068 小时前
STM(GPIO)上篇
stm32·单片机·嵌入式硬件
时空自由民.8 小时前
嵌入式MCU+RTOS软件框架设计方案
单片机·嵌入式硬件
嵌入式-老费12 小时前
esp32开发与应用(esp-idf开发)
嵌入式硬件
念恒1230612 小时前
STM32---新建工程
linux·stm32·嵌入式硬件
振南的单片机世界12 小时前
全双工vs半双工vs单工:电话、对讲机、广播
stm32·单片机·嵌入式硬件