本帖最后由 静风沐雨 于 2019-1-3 10:40 编辑
开发板复位 CLK_ICKCR_HSIRDY 一直是处在准备好的状态"1", 但是我实际使用中,使用原子的延时函数,发现误差挺大2ms的延时测试为2.12ms,
我在clk初始化后面加一个10us延时,延时函数就准了,2ms延时,测试2.00x ms。
SystemClockInit(CLK_SOURCE_HSI,CLK_PRESCALER_1); DelayInit(16); DelayUs(10u);
我想问下使用内部时钟函数的时候该怎么写比较好?我这种情况是不是因为时钟没稳定造成的?
时钟函数代码;CLK->SWR = CLK_SOURCE_HSI;CLK->CKDIVR = CLK_PRESCALER_1; while(0u == ((CLK->ICKCR)& CLK_ICKCR_HSIRDY)){}CLK->SWCR |= CLK_SWCR_SWEN;
while(1)循环体中的内容{ GPIO_SetBits( GPIOF, GPIO_Pin_7); DelayUs(1000u);
GPIO_ResetBits( GPIOF, GPIO_Pin_7); DelayUs(1000u);
}
参照
一周热门 更多>