tm1650 - tm1650 数码管和按键扫描芯片#

适配状态未知

备注

本页文档由这个文件自动生成。如有错误,请提交issue或帮忙修改后pr,谢谢!

示例

--注意:
--1、tm1650驱动的数码管应该选用共阴数码管
--2、tm1650也可以驱动LED,如果是LED,则应该将LED连接成共阴数码管内部相同的电路
--3、支持按键扫描,此模式下tm1650的DP/KP引脚为中断输出引脚
--=========按键扫描例子==========
local function tm1650_kcb(key_code)
    log.info('tm1650 user cb,key code=',string.format("%02X",key_code))
end
sys.taskInit(function()
    tm1650.init(pin.PB06,pin.PB07,tm1650.MODE_KEY_INPUT,pin.PB08,tm1650_kcb)
    while 1 do
        sys.wait(2000)
    end
end)
--==========数码管显示例子===========
sys.taskInit(function()
    --共阴段码表,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(pin.PB06,pin.PB07,tm1650.MODE_LED_OUTPUT)
    while 1 do
        for i = tm1650.DIG1, tm1650.DIG4, 1 do
            tm1650.print(i,NUM_TABLE_AX[6])
            sys.wait(500)
        end
        sys.wait(1000)
        for i = tm1650.BRIGHT1, tm1650.BRIGHT8, 1 do
            tm1650.setBright(i)
            sys.wait(500)
        end
        for i = 1, 8, 1 do
            sys.wait(500)
            tm1650.close()    
            sys.wait(500)
            tm1650.open()
        end
        sys.wait(2000)
        tm1650.clear()
    end
end)

tm1650.init(scl_pin,sda_pin,mode,irq_pin,key_cb)#

TM1650初始化,根据mode参数可以设置为数码管显示或者按键扫描模式

参数

传入值类型

解释

number

scl_pin,定义了时钟线驱动引脚

number

sda_pin,定义了数据线驱动引脚

number

mode,定义了工作模式,tm1650.MODE_LED_OUTPUT,数码管LED驱动模式;tm1650.MODE_KEY_INPUT,按键检测模式

number

irq_pin,定义按键中断引脚

function

key_cb,按键用户回调函数,此函数有一个number类型参数,为按下的按键的按键代码

返回值

例子

tm1650.init(pin.PB06,pin.PB07,tm1650.MODE_LED_OUTPUT) --数码管显示模式
tm1650.init(pin.PB06,pin.PB07,tm1650.MODE_KEY_INPUT,pin.PB08,tm1650_kcb)  --按键扫描模式

tm1650.setBright(bri)#

设置TM1650的显示亮度,此操作不影响显存中的数据

参数

传入值类型

解释

number

亮度参数,取值为tm1650.BRIGHT1~tm1650.BRIGHT8

返回值

例子

tm1650.setBright(tm1650.BRIGHT8)

tm1650.open()#

打开TM1650的显示,此操作不影响显存中的数据

参数

返回值

例子

tm1650.open()

tm1650.close()#

关闭TM1650的显示,此操作不影响显存中的数据

参数

返回值

例子

tm1650.close()

tm1650.print(dig,seg_data)#

向TM1650的一个指定的位对应的显存发送指定的段数据进行显示

参数

传入值类型

解释

number

dig,定义位选参数,取值为tm1650.DIG1~tm1650.DIG4

number

seg_data,定义段数据参数

返回值

例子

tm1650.print(tm1650.DIG1,0x3f)

tm1650.clear()#

清除TM1650的所有位对应的显存数据,即全部刷写为0

参数

返回值

例子

tm1650.clear()