日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM8S105系列单片机管脚复用配置(选项字节的配置)

發布時間:2025/3/21 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM8S105系列单片机管脚复用配置(选项字节的配置) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以STM8S105K4T6C為例,實現PB0管腳復用成TIM1_CH1N

(1)STM8S復用功能(芯片引腳加"[ ]"的功能):通過配置flash中的選項字節來實現

? ? ? ? ?除了ROP(讀出保護)字節,每個選項字節必須被保存兩次,一個通常的格式(OPTx)和一個用來備份的互補格式(NOPTx)

? ? ? ? 參見STM8S105xx數據手冊(如下圖),可知備選功能重映射選項5(AFR5)負責管理PB0端口的重映射功能,將其設置為1即實現PB0重映射為TIM1_CH1N?

? ? ? ??

? ? ? ? ?

? ? ? ? ?相關代碼:

? ? ? ? ? void Flash_Init()
? ? ? ? {
? ? ? ? ? ? ? ? ?FLASH_DeInit(); ? ? ? ? ? ? ? ? ? ? ? //恢復FLASH相關寄存器到默認值
? ? ? ? ? ? ? ? ?FLASH_Unlock(FLASH_MEMTYPE_DATA); ? ? //解鎖數據EEPROM
? ? ? ? ? ? ? ? ?FLASH_ProgramOptionByte(0x4803, 0x20); //選項字節 ?打開PB0的復用功能
? ? ? ? ? ? ? ? ?FLASH_ProgramOptionByte(0x4804, 0xDF);
? ? ? ? ?}

(2)TIM1_CH1N是TIM1_CH1的互補輸出比較

? ? ? ? ? TIM1_CH1N是TIM1_CH1的反相,可用于TIM1的同步PWM模式

? ? ? ? ? 當只選擇TIM1_CH1N輸出PWM時,需要Disable輸出比較,Enable互補輸出比較

? ? ? ? ? 相關代碼:

? ? ? ? ??void Time1_Init()
? ? ? ? {
? ? ? ? ? ? ? ? ? ?CLK->CKDIVR=0x00;
? ? ? ? ? ? ? ? ? ?TIM1_TimeBaseInit(1599,TIM1_COUNTERMODE_UP,5000,0); //分頻1600,向上計數,TIM1_ARR=20000,重復計數器為0
? ? ? ? ? ? ? ? ? /*OC1初始化:PWM1模式
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?輸出不使能
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?互補輸出使能
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CCR1=8000,占空比為50%
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?輸出有效極性為高(無作用
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?互補輸出有效極性為高?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?空閑時輸出高(無作用)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?空閑時互補輸出高?
? ? ? ? ? ? ? ? ? ? ? */
? ? ? ? ? ? ? ? ? ? ?TIM1_OC1Init(TIM1_OCMODE_PWM1,?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??TIM1_OUTPUTSTATE_DISABLE,?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TIM1_OUTPUTNSTATE_ENABLE,?

? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?5000,?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TIM1_OCPOLARITY_HIGH,?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TIM1_OCNPOLARITY_HIGH,?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TIM1_OCIDLESTATE_SET,?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TIM1_OCNIDLESTATE_SET);
? ? ?
? ? ? ? ? ? ? ? ? ? ? TIM1_OC1PreloadConfig(ENABLE);
? ? ? ? ? ? ? ? ? ? ? TIM1_CtrlPWMOutputs(ENABLE); //PWM輸出使能
? ? ? ? ? ? ? ? ? ? ? TIM1_Cmd(ENABLE); //定時器開始計數?
? ? ? ? ? ? ?}


選項字節的配置一般有兩種方式:

(1)使用STlink修改選項字節

? ? ? ? ? 打開STVP進行相關設置,可參見

? ? ? ? ? https://wenku.baidu.com/view/205181b2d0d233d4b14e69fa.html

? ? ? ? ??點擊打開鏈接

(2)通過程序修改選項字節

? ? ? ? ? 實現程序擦Option Bytes時,不能運行程序,否則會出現錯誤

? ? ? ? ? 一般不建議通過程序修改選項字節,容易出錯

總結

以上是生活随笔為你收集整理的STM8S105系列单片机管脚复用配置(选项字节的配置)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。