|
int main() {
// 假設(shè)你不需要延時
GPIO_ToggleBits(GPIOF, GPIO_Pin_10);
while (1) {
// 主循環(huán)
}
}
void Delay_ms(uint32_t nTime) {
if (nTime == 0) return; // 直接返回,不執(zhí)行任何延時
uint32_t delay_ms = 21000; // 確保這個值適合你的系統(tǒng)時鐘
SysTick->LOAD = nTime * delay_ms; // 重裝載寄存器
SysTick->VAL = 0x00; // 清空計數(shù)值
SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk; // 開啟倒數(shù)
// 等待SysTick計數(shù)器達到零
while ((SysTick->CTRL & SysTick_CTRL_ENABLE_Msk) && !(SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk));
SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk; // 關(guān)閉計數(shù)器
SysTick->VAL = 0x00; // 清空計數(shù)值
} |
|