1 問題
在利用usart 結構體進行初始化操作時,
根據函式庫提供的例子進行初始化時候
compiling main.c...
../user/main.c(73): error: #134: expected a field name
../user/main.c(78): error: #136: struct "" has no field "usart_clock"
../user/main.c(79): error: #136: struct "" has no field "usart_cpol"
../user/main.c(80): error: #136: struct "" has no field "usart_cpha"
../user/main.c(81): error: #136: struct "" has no field "usart_lastbit"
../user/main.c - 5 error(s), 0 warning(s).
通過檢視相關標頭檔案 時候 發現
typedef struct
usart_inittypedef;
typedef struct
usart_clockinittypedef;
中文提供的初始化 例子如下
根據st英文庫函式提供的例子
example:
/* the following example illustrates how to configure the usart1 */
usart_inittypedef usart_initstructure;
usart_initstructure.usart_baudrate = 9600;
usart_initstructure.usart_wordlength = usart_wordlength_8b;
usart_initstructure.usart_stopbits = usart_stopbits_1;
usart_initstructure.usart_parity = usart_parity_odd;
usart_initstructure.usart_hardwareflowcontrol =
usart_hardwareflowcontrol_rts_cts;
usart_initstructure.usart_mode = usart_mode_tx i usart_mode_rx;
usart_init(usart1, &usart_initstructure);
通過比較可以發現 第乙個提供的例子的確是存在問題!
就是分明是兩個函式體的 引數 在該例子中統一賦值處理! 早上編譯器出現問題
得出結論! 學習以英文為參考!!
當我在將串列埠進行設定完畢後, 用軟體進行**,始終不能得到我想要傳送字元0xaa~~
仔細檢查設定情況 沒問題,通過外設埠設定發現在usart1 的通訊設定如下
clock disabled, 9603 baud,
1 start bit,
8 data bits,
1.0 stop bits,
no parity
發現usart1的時鐘為 disable狀態~!
o ! my god!!!
又是忘記了將外設始終 進行使能了~~!~!
//注意 此處要開啟用到usart1的時鐘 否則引腳不工作
rcc_apb2periphclockcmd(rcc_apb2periph_usart1, enable);
編譯後 用軟體**後 成功~~~!!
stm32串列埠通訊(usart1)
參考 gpio inittypedef gpio initstructure 24 usart inittypedef usart initstructure 25 nvic inittypedef nvic initstructure 初始化gpio 30 gpio initstructure.g...
1007 422通訊問題
一 422信問題記錄 情景 1,通訊資料鏈為dsp晶元28335 處理能力較低,對外介面422,波特率115200 2,通訊另外一端板載計算機 linux系統,埠422 115200 二 現象 1,任務計算機通過串列埠傳送資料給資料鏈,資料鏈接收資料正常,資料鏈向任務計算機傳送資料,出現資料異常。接...
通訊協議學習 485通訊(1)
1.rs 485通訊協議標準 通訊協議是指雙方實體完成通訊或服務所必須遵循的規則和約定,主要實現兩個裝置之間的資料交換功能,通訊協議分硬體層協議和軟體層協議。硬體層協議決定資料如何傳輸,比如要裝置a要想裝置b傳送0x63,0x63的二進位制數為0110 0011,這8個二進位制數要從裝置a傳輸到裝置...