2.给出 gpio_set(LIGHT_ RED LIGHT_ OFF); 语句中,LIGHT_RED和LIGHT_ OFF的值是多少?贴出每一 步的查找截图。
导入工程CH04下的GPIO-BlueLight_20230328工程,找到LIGHT_RED并点击查看定义
跳转到user.h下的这个位置,得知LIGHT_ OFF的值为1,并找到LIGHT_RED所引用的PTB_NUM,点击查看定义
跳转到gpio.h下的这个位置知道PTB_NUM的值为1<<8,即0000000100000111,也为LIGHT_RED的值。
总结:LIGHT_RED的值为0000000100000111,LIGHT_ OFF的值为1
3.用直接地址编程方式,实现红绿蓝三灯轮流闪烁
先由定义转到引脚定义处,知道各个颜色对应的引脚,红7,绿8,蓝9
再打开另一个工程以实现灯亮灯灭操作,先设置初始状态所有灯关,初始为‘R’
再去设置循坏,实现红绿蓝三灯轮流闪烁
编译并进行串口更新进行验证
实验结果:
4.用调用构件方式,实现红绿蓝的八种组合轮流闪烁
可采用三种灯在可重叠的特定时间亮起,达到组成不同的八种颜色的目的
对红绿蓝灯进行初始化
然后设置循环,规定红绿灯在特定时间段亮起
最后编译并串口更新进行验证
实验结果: