目录
1、gpio_set(LIGHT_RED,LIGHT_OFF)中LIGHT_RED和LIGHT_OFF的值。
1、gpio_set(LIGHT_RED,LIGHT_OFF)中LIGHT_RED和LIGHT_OFF的值。
(1)、打开CH04中的工程GPIO-BlueLight_20230328,找到LIGHT_RED,右键选择查看定义
(2)、选择查看定义后可以发现LIGHT_RED的值为PTB_NUM|7;LIGHT_OFF的值为1
(3)、可以看到user.h引用了printf.h、gpio.h和gec.h等头文件,查找这几个头文件可以在头文件gpio.h中发现PTB_NUM的值为1<<8,即0000000100000111
总结:LIGHT_RED的值为0000000100000111,即263、LIGHT_OFF的值为1
2、用直接地址编程方式,实现红绿蓝三灯轮流闪烁
查看定义可以发现红灯对应7号引脚,绿灯对应8号引脚,蓝灯对应9号引脚。
初始状态设置所有灯灭,并把亮灯标志mFlag初始化设置为'R'
设计使红灯绿灯蓝灯循环亮灭
实验结果如下:
3、用调用构件方式,实现红绿蓝的八种组合轮流闪烁
由作业一可以看到红灯需要在5~10秒、15~20s、25~30s、45~50s、65~70s、75~80s、85~90s、95~100s亮,绿灯需要在10~20s、30~40s、50~60s、90~100s亮,蓝灯需要在20~40s、60~80s亮即可实现红绿蓝灯得八种组合轮流闪烁
先对红灯绿灯蓝灯进行初始化
设计实验主循环如下,以40s为一个周期
实验结果如下: