CH32V103學(xué)習(xí)筆記之三——對(duì)debug.c中的函數(shù)做一些修改
1、前言
????上一篇講到了如何基于IDE自帶工程模板做一些調(diào)整,形成一個(gè)符合自己使用習(xí)慣的模板。本篇筆記主要介紹模板里的debug.c文件中的函數(shù)功能和對(duì)函數(shù)做一些修改,以更符合個(gè)人使用習(xí)慣。
2、debug.c文件的作用
初始化系統(tǒng)嘀嗒計(jì)數(shù)器SysTick,配置對(duì)應(yīng)參數(shù)實(shí)現(xiàn)us、ms級(jí)別延時(shí)
通過條件編譯宏,初始化串口1、2或者3的TX引腳,實(shí)現(xiàn)串口輸出數(shù)據(jù)或者調(diào)試信息
????另外有一點(diǎn)需要提醒的是,多個(gè)外設(shè)的庫函數(shù)中調(diào)用了debug.c中的延時(shí)函數(shù)。如果不想使用debug.c這個(gè)文件,就需要在對(duì)應(yīng)的外設(shè)庫函數(shù)中做修改了(刪除這兩個(gè)文件,編譯的時(shí)候會(huì)提示錯(cuò)誤,根據(jù)錯(cuò)誤信息一個(gè)個(gè)修復(fù)即可)。
debug.h中的宏定義和函數(shù)聲明
3、調(diào)整內(nèi)容
3.1、調(diào)整延時(shí)函數(shù)
????使用庫函數(shù)上電初始化的系統(tǒng)主頻是72MHz。寄存器參數(shù)為何要這么配置,由于未在參考手冊(cè)和數(shù)據(jù)手冊(cè)中查到systick相關(guān)寄存器的說明,所以不做進(jìn)一步的討論,這里只做函數(shù)調(diào)用上的簡化,方便調(diào)用即可。感興趣的小伙伴請(qǐng)聯(lián)系沁恒技術(shù)支持了解具體詳情。
????調(diào)整前(漢字注釋是我加的)??
????調(diào)整后??
3.2、調(diào)整串口初始化函數(shù)
??? 本次活動(dòng)的學(xué)習(xí)板上WCH-Link虛擬串口默認(rèn)接入的是CH32V103R8T6的串口1,且后續(xù)準(zhǔn)備移植的項(xiàng)目也只使用到串口1,所以這里簡化函數(shù)內(nèi)容,同時(shí)增加RX引腳的初始化。
調(diào)整前??
串口1、2、3 TX引腳的初始化函數(shù),通信波特率作為參數(shù)傳入。根據(jù)在debug.h中選擇的編譯條件,初始化對(duì)應(yīng)的串口TX引腳。
printf函數(shù)重定向,方便直接使用C語言printf函數(shù)輸出內(nèi)容。根據(jù)debug.h中選擇的編譯條件,調(diào)用對(duì)應(yīng)的串口輸出。
調(diào)整后??
4、小結(jié)
????本篇介紹的內(nèi)容出于個(gè)人的編程習(xí)慣,加上一點(diǎn)強(qiáng)迫癥,所以動(dòng)手做了一些調(diào)整。當(dāng)然,不做修改也是可以正常使用的。
