實(shí)際用示波器測試,將PA13腳,直接在主循環(huán)中
while(1)
{
GPIOA_SetBits(GPIO_Pin_13);
GPIOA_ResetBits(GPIO_Pin_13);
}
測得的PA13翻轉(zhuǎn),高電平400ns,低電平830ns,頻率810.89KHZ, 整個(gè)程序什么都沒有做,為什么60M的主頻,IO口翻轉(zhuǎn)這么慢呢
實(shí)際用示波器測試,將PA13腳,直接在主循環(huán)中
while(1)
{
GPIOA_SetBits(GPIO_Pin_13);
GPIOA_ResetBits(GPIO_Pin_13);
}
測得的PA13翻轉(zhuǎn),高電平400ns,低電平830ns,頻率810.89KHZ, 整個(gè)程序什么都沒有做,為什么60M的主頻,IO口翻轉(zhuǎn)這么慢呢
1、放在RAM里面跑,也就是加上highcode;
2、在進(jìn)行翻轉(zhuǎn)處理時(shí)不要調(diào)用我們封裝好的函數(shù),直接通過寄存器進(jìn)行配置,確保代碼執(zhí)行的速度。
直接 在 main 函數(shù)前面加上__attribute__((section(".highcode")))
現(xiàn)在 高電平就是 84ns,低電平132ns,頻率4.615mhz,明顯快了很多,這還是沒有 使用直接操作寄存器的方式
但是不知道我這樣 直接加在 main 函數(shù)上面,使用有沒有什么問題
調(diào)用的翻轉(zhuǎn)函數(shù),在其上面加上highcode。