本帖最后由 海洋无限 于 2022-2-4 17:53 编辑
#技术资源# @21小管家 @21小跑堂
这节参考SDK代码直接构建自己的代码框架如下,顺便将代码推到Gitee,方面后面查阅,免费的哦
老规矩先构建TimerSch项目,项目按照SDK构建就可以了,直接改main中的函数,先点亮LED,看板卡LED连接的是B4 B5 A8
int main(void)
{
/*SystemInit() function has been called by startup file startup_n32g43x.s*/
rt_hw_board_init();
LedInit(GPIOB, GPIO_PIN_4);
LedInit(GPIOB, GPIO_PIN_5);
LedInit(GPIOA, GPIO_PIN_8);
rt_hw_board_init:初始化SysTick,下面初始化LED
while (1)
{
if(1 == flag) {
LedOn(GPIOB, GPIO_PIN_4);
LedOn(GPIOB, GPIO_PIN_5);
LedOn(GPIOA, GPIO_PIN_8);
} else {
LedOff(GPIOB, GPIO_PIN_4);
LedOff(GPIOB, GPIO_PIN_5);
LedOff(GPIOA, GPIO_PIN_8);
}
}
while中根据flag设置LED 亮灭,flag在SysTick_Handler中设置,keil中直接下载代码,可以看到LED开始闪烁
这里需要注意B4的LED 连接的是JTAG接口pin,LED没法正常闪烁,pin设置为GPIO功能后LED能正常闪烁,但这样就disable了jtag功能,由于我们还需要使用jtag调试代码,需要enable jtag功能,否则下载完代码下次就不能再下载了,关于jtag部分可以看 论坛网友写的帖子jtag
只做上面很小的修改,可以看到LED已经能正常闪烁了
|