啥都没动,上来就弄个官方固件包的LED点亮程序,也是啥都没动,直接调试,发现滴答计时器的delay_1ms(1000);的实际延时有10秒左右,找到配置函数
void systick_config(void)
{
/* setup systick timer for 1000Hz interrupts */
if(SysTick_Config(SystemCoreClock / 10000U)){
/* capture error */
while(1){
}
}
/* configure the systick handler priority */
NVIC_SetPriority(SysTick_IRQn, 0x00U);
}
把1000U改成了10000U,回复到1秒左右(没示波器,目测大概1秒左右)
发现啥都没动就有时钟的问题,例程就有问题,继续找原因发现系统时钟配置为72M,瞎改到8M,上面的回复到1000U,正常。
现在开始调试串口,引脚都设置OK,死活调试不出来,估计波特率不对,波特率时钟封装一大堆,怎么调都不知道,真难搞,这有这么难搞吗?听说很简单啊,都封装好的,直接拿来用?怎么这么难搞,搞的还要去读底层代码,看他们怎么封装的,
目前为止只点亮了LED |