![]() |
發布時間: 2017-8-20 14:59
正文摘要:為什么我的LED不閃爍,下面是程序和電路。#include "stm32f10x.h" void delay_ms(u32 ms){ u32 temp; SysTick->LOAD = 9000 * ms; //重裝初值,72MHz ... |
一般,電平高低切換之間需要加時延,才能看到閃爍的效果 |
參考一下正點原子的代碼吧 |
高低電平切換,并加上延時函數 |
如果是只亮不閃爍的話,看看程序是不是卡在那個延時函數那里了,話說你這個系統時鐘8分頻了?不然為啥SysTick->LOAD = 9000 * ms; 這里是9000 |
時鐘使能要放在前面,然后配置IO |
可以看看正點原子的代碼,里面很詳細 。 |
那就可能是你的延時函數沒起作用或者是延時函數有問題,你的延時函數初在主函數中始化了嗎? |
高低電平切換,再加上延時就可以的 |
覺得時鐘不對![]() |
檸檬小生 發表于 2017-8-20 22:03 只亮,不閃爍,是不是和時鐘有關SystemIni(), |
大灰狼愛喝湯 發表于 2017-8-20 23:16 我用的GPIOE,開啟了GPIOE的時鐘,難道還要開GPIOB的時鐘??? |
先把燈點亮再說,然后再閃爍 |