linkboy & WCH处理器移植入门
开始点亮LED灯
第一章节我们已经用串口打印代替GPIO输出,能运行linkboy程序了。本章我们继续移植,看看如何让开发板驱动真正的LED亮灭。首先到WCH官网找到这个示例文件夹:
进入EXAM文件夹,找到GPIO的示例,并打开:
把GPIO相关的函数复制出来,放到vos_c.h文件里:
这里边虽然增加了GPIO的操作,但是忽略了参数i,也就是不管linkboy界面上把LED接到哪个针脚,实际上都是从GPIOA0这个针脚输出。编译下载到开发板,并把开发板上的LED1插针接到GPIOA0,可以看到开发板上的LED1亮灭不停,表明初步完成了GPIO的移植。
接下来我们要处理参数i了,这个i就是图形界面连接的针脚序号,比如D4针脚,那么传进来的i就等于4。查询WCH手册可知,WCH的GPIO包括PA0-PA15,PB0-PB15,…… 因此我们可以把PA0-PA15编号为0-15,PB0-PB15编号为16-31,以此类推。体现在程序中,就是这样处理:
将引脚序号i除以16后,得到引脚的名字(ABCD…),将i对16取余数后,得到引脚的序号(0-15)。现在就可以独立控制多个LED了:
图中红灯接到了D14(i=14),绿灯接到了D18(i=18),因此开发板上的LED1需要接到PA14,LED2需要接到PB2(18/16=1 18%16=2),程序下载到开发板,并接好LED1和2,可以看到两个LED分别按照对应的频率闪烁。
全部0条评论
快来发表一下你的评论吧 !