Tuier 发表于 2024-5-20 17:37:11

官方跑马灯程序学习疑问

官方跑马灯程序如下(以屠龙刀为例):


void HardwareMarquee(void)
{
    P20 = 0;                //LED On
    delay_ms(250);
    P20 = 1;                //LED Off
    P21 = 0;                //LED On
    delay_ms(250);
    P21 = 1;                //LED Off
    P22 = 0;                //LED On
    delay_ms(250);
    P22 = 1;                //LED Off
    P23 = 0;                //LED On
    delay_ms(250);
    P23 = 1;                //LED Off
    P24 = 0;                //LED On
    delay_ms(250);
    P24 = 1;                //LED Off
    P25 = 0;                //LED On
    delay_ms(250);
    P25 = 1;                //LED Off
    P26 = 0;                //LED On
    delay_ms(250);
    P26 = 1;                //LED Off
    P27 = 0;                //LED On
    delay_ms(250);
    P27 = 1;                //LED Off
    P26 = 0;                //LED On
    delay_ms(250);
    P26 = 1;                //LED Off
    P25 = 0;                //LED On
    delay_ms(250);
    P25 = 1;                //LED Off
    P24 = 0;                //LED On
    delay_ms(250);
    P24 = 1;                //LED Off
    P23 = 0;                //LED On
    delay_ms(250);
    P23 = 1;                //LED Off
    P22 = 0;                //LED On
    delay_ms(250);
    P22 = 1;                //LED Off
    P21 = 0;                //LED On
    delay_ms(250);
    P21 = 1;                //LED Off
}

我想官方程序这样写肯定是有道理的,为什么不用for循环或者移位操作,这样写是不是延时更准确还是为初学者贴心服务的?

soma 发表于 2024-5-20 18:00:50

这个只是入门了解各io操作。熟悉了你也可以用移位操作。

_奶咖君_ 发表于 2024-5-20 18:01:29

{:4_167:}示例程序,,,又不是标准答案....

晓飛飛 发表于 2024-5-22 21:15:54

当然是为初学者贴心服务的

jwd 发表于 2024-5-22 23:02:28

条条大路通罗马{:4_165:}

Yim_Hom 发表于 2024-5-23 00:17:47

有简单,有复杂,也可以自己写,用数组 、移位、左右滚动、指针…等等都可以{:lol:}

xiangzichen 发表于 2024-5-23 01:00:03

路人甲:你家孩子多大了?
孩子爸:差不多快一周了.
路人甲:哦,是吗,小朋友,7+8等于多少??
宝宝:   啊,呜...(听说我,谢谢你..因为有你..)
页: [1]
查看完整版本: 官方跑马灯程序学习疑问