如果你是一名C程序員,你肯定很熟悉宏,它們非常強(qiáng)大,如果正確使用可以讓你的工作事半功倍。然而,如果你在定義宏時(shí)很隨意沒(méi)有認(rèn)真檢查,那么它們可能使你發(fā)狂,浪費(fèi)N多時(shí)間。在很多的C程序中,你可能會(huì)看到許多
typedef 在表現(xiàn)上有時(shí)候類似于 #define,但它和宏替換之間存在一個(gè)關(guān)鍵性的區(qū)別。正確思考這個(gè)問(wèn)題的方法就是把 typedef 看成一種徹底的“封裝”類型,聲明之后不能再往里面增加別的東西。
STM32庫(kù)里面設(shè)置usart的波特率是又乘又除, 初始化的代碼可以直接用, 但要提高代碼的效率,就要直接填分?jǐn)?shù)分頻值的立即數(shù)進(jìn)入BRR寄存器, 改變波特率所以寫(xiě)了下面的宏, 希望大家有用/* 波特率的分?jǐn)?shù)分頻值宏 *///clk: u