來自stm32庫函式教材。請大俠解釋問題,在最後!謝謝

時間 2021-12-25 03:21:28

1樓:匿名使用者

(usart_typedef* usartx, usart_inittypedef* usart_initstruct)

應該是這樣的,我沒去具體看函式,usart_init,初始化串列埠,引數應該包括兩個部分,第乙個部分是usart_typedef* usartx,這個表示定義乙個指向usart_typedef結構體的指標,也就是之前這個函式的第乙個引數,用於選擇串列埠。後面這個引數也是乙個指向usart_inittypedef結構的指標,此結構體中應該包含串列埠初始化要配置的東西,比如波特率,資料位等。明白嗎?

2樓:

你寫義好了 usart_inittypedef,需要這個usart_init介面設定到uart相應的暫存器中才能生效啊;

3樓:某吉娃娃

首先你要知道用庫函式說白了還是在操作暫存器

接下來void usart_init(usart_typedef* usartx, usart_inittypedef* usart_initstruct);這句話的意思是 用結構體名字為 usart_initstruct這玩意的結構體來初始化串列埠,結構體型別為usart_inittypedef 也就是上面定義的那個結構體 結構體內部的內容全是相應的暫存器可選值 例如 usart_mode 這玩意你把它跟蹤下去就會發現它是在usart.**件中的乙個巨集定義 所以這個庫函式說白了就是說 把暫存器裡面的可選值封裝成我們好理解的巨集定義 然後你方便的用這些巨集定義來操作 因為這是個初始化串列埠的庫函式 不需要返回值 所以是void

stm32中,stm32中GPIOx BSRR和 GPIO xBRR寄存允許對任何GPIOx進行讀 更改的獨立訪問

比如我要讓gpioa變為高電平,可以有兩種做法 1 gpioa odr gpio pin 0 2 gpioa bsrr gpio pin 0 比如我要讓gpioa變為低電平,可以有兩種做法 1 gpioa odr gpio pin 0 2 gpioa brr gpio pin 0 總結和糾正一下前面...

stm32如何啟動串列埠中斷,stm32 關於串列埠中斷服務函式

看一下暫存器手冊,配置一下相關暫存器就ok。然後在初始化時或合適的地方啟動串列埠中斷就是了。1.首先配置串列埠1管腳 配置串列埠1引腳 gpio initstructure.gpio pin gpio pin 9 gpio initstructure.gpio speed gpio speed 50...

stm32怎樣存痊大靜態陣列,stm32怎樣訪問超大靜態陣列

你是否是遇到這樣問題 比如定義乙個陣列unsigned char arry num 因為想要這個陣列非常大,也就是說這個num非常大,超過了堆疊的大小,程式就會報錯而編譯不通過,然後你想換種方法解決是嗎?如果是的話有兩種方法可解決 1 擴大堆疊容量,如果是keil編寫 的話,那麼更改堆疊大小在相應的...

stm32微控制器的定時問題,STM32微控制器的定時問題。

是這樣的,看到你這個問題,我腦海裡第乙個反映是,你的初值和計數方式配合反了.因為很多從51過來的人都犯這個錯誤,他們認為,stm32向上計數是從初值 65535 向下是 初值 0,也就是說,他們把初值作為出發點.其實是錯的,初值是目標點,向上是 0 初值,向下是 65535 初值.那麼看一下,如果你...

stm32的晶振為什麼不起振,STM32板的晶振不起振,怎麼辦

是不是你自己做的stm32板子呢?如果是的話建議你檢查電路,一般一次未燒寫程式的stm32晶振是不起振的,如果已經燒寫了程式不起振的話檢查你程式是否已經執行了。檢測boot0與boot1引腳電壓 這個晶元的通病,廠家答覆是使用問題,晶振不合適。問題是其他廠商的單片怎麼就沒這問題呢?st以前生產的其它...