定时器(timer)的应用

本文介绍了如何使用C语言实现一个循环显示数字0到9的效果,重点在于理解先操作后赋值的逻辑。通过定时器回调函数`label_timer_callback`更新LCD屏幕上数字的显示,并在达到'9'时重置回'0',确保持续循环。代码中详细展示了两种实现方式,分别是先操作后赋值和先赋值后操作的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

效果一:实现数字0-9的循环演示

代码实现

lv_timer_cb_t  label_timer_callback(lv_timer_t *timer)
{
    //方案A
    if(++cnt == '9' + 1)
    {
        cnt = '0';
    }

    lv_label_set_text(label,&cnt);
}

void lv_100ask_demo_course_2_1_1(void)
{
    label = lv_label_create(lv_scr_act());
    lv_obj_align(label,LV_ALIGN_CENTER,0,0);
    lv_label_set_text(label,"0");

    lv_timer_create(label_timer_callback,200,NULL);
}

        ++cnt等效方式为先操作、后赋值。

lv_timer_cb_t  label_timer_callback(lv_timer_t *timer)
{

    cnt++;  //先操作

    if(cnt == '9' +1)  //后调用
    {
        cnt = '0';
    }

    lv_label_set_text(label,&cnt);
}

        如果使用cnt++即先调用后操作,这样当cnt为‘字符9时,由于之后还会操作,cnt变为‘9’+1,则显示为其它字符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡姆图拉夫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值