//function:led初始化
//para :無
//return :無
void led_init(void)
//main函式
int main(void)
}
一開始檢查**都正常,貌似沒有錯誤,可是燈就是不亮,後來看手冊發現原來pb3、pb4引腳都有個復用功能,系統預設使用了復用的功能,從而不再是通用io輸出功能,需要把復用功能關掉,才能正常輸出io訊號。
如下圖:
可以看到,預設功能是jtdo和jntrst,所以把這兩個功能關閉即可。對應**為led初始化函式 led_init() 中的以下兩行:
//關閉pb3 pb4的復用功能,使能pb2、pb3的通用io功能
rcc_apb2periphclockcmd(rcc_apb2periph_afio | rcc_apb2periph_gpiob , enable);
gpio_pinremapconfig(gpio_remap_swj_jtagdisable,enable);
待補充點亮led,流程跟stm32基本一樣:
廢話不說,上**:
//funcktion: led燈gpio口初始化
//para : 無
//return : 無
void led_config()
//funcktion: 開啟led燈
//para : 無
//return : 無
void led_on()
//funcktion: 關閉led燈
//para : 無
//return : 無
void led_off()
因為使用的是*pb4和pb5這兩個gpio口,檢視資料手冊可以看到如下圖:
可以看到紅圈內標記該gpio口為t(3),繼續下翻,到該**的最下面,有關t(3)的描述:
英語不好,就不獻醜翻譯了,反正意思是要自己在外部新增上拉電阻或下拉電阻,不然沒用。
於是,趕緊找個導線,飛個線,接個電阻,ok,完事,亮了。。。。
STM8S 串列埠應用 UART2 STM8S105
少說話。多做事,下面是我驗證過沒有問題的串列埠傳送接受資料 使用mcu stm8s105c6 uart2 初始化時呼叫 gpio deinit gpiod configure pd5 6 gpio init gpiod,gpio pin 5,gpio mode in pu no it 傳送資料io ...
stm8s和stm8l低功耗對比
在低功耗應用中,一般來說mcu是常態halt模式,然後偶爾被喚醒 外部中斷或者內部定時喚醒 進入執行模式。所以對比低功耗效能,一般來說只需要對比run模式和halt下的功耗即可,因為專案選用的是通過內部定時器喚醒,所以選用active halt mode。以下是stm8s003和stm8l151在這...
STM8S時鐘配置
1 stm8時鐘說明 stm8上電復位後預設使用內部的高速時鐘,並分頻成為2m用於系統執行。如果我們想要使用外部時鐘,需要進行時鐘切換,切換過程中還需要使用stvp進行晶元選項字的更改。2 stm8s時鐘配置 庫函式版 1 配置內部高速振盪器 hsi 的分頻器 1分頻 clk hsiprescale...