STM32關于USART的問題集錦
問:
本文引用地址:http://cqxgywz.com/article/201611/318103.htm答1:RCC_APB2PeriphClockCmd(RCC_APB2Periph_USARTx, ENABLE) for USART1 and USART6 * RCC_APB1PeriphClockCmd(RCC_APB1Periph_USARTx, ENABLE) for USART2, USART3, UART4 or UART5. *
3、stm32中的串口通信中的USART_WordLength,數據位的長度包不包括開始位哪些?
問:stm32中的串口通信中的USART_WordLength,數據位的長度包不包括開始位哪些?
答:不包括開始位,如果你有 校驗(奇 偶)的話,數據位是包括校驗位的。USART_WordLength 這個是可以設 9
4、stm32的DMA 到usart
問:把一個數組的數據傳輸到USART。設為Circular時,DMA是不是會自動不停的傳輸數據?既是main函數里沒有調用傳輸,DMA也會不停把數組的數據傳給USART?不受main控制?DMA數據傳輸還是受CPU的控制的?需要認為的調用?
答:設置成循環的只是說當數據傳輸量寄存器里面的內容變為零會重新加載,然后重新傳輸,但是這一切前提都是進行了設置和使能(這里應該是DMA請求,我還沒看出來別的使能方式,正在學習),但是記住只有再怎么寫好設置的子函數或者說模塊,如果沒有main里調用,不會運行的,因為單片機只執行MAIN里的函數,如果沒有調用語句,是不會自己跑到DMA設置子函數里的,也就是說不會不斷執行。人為調用,設置一下各個寄存器,有傳輸的來源和目的設置有傳輸數據量設置等等,設置完了,開啟就可以了,CPU可以去干別的,看一下參考手冊就知道了。
5、STM32串口接收程序
問:在STM32串口接收程序里 USART_GetFlagStatus(USART1,USART_FLAG_ORE)==RESET 這句語句是什么意思?
答:查尋串口標志,為0還是1,reset 為0,set 為1,還有清除標志位的作用
6、STM32F10XX系列SPI和USART區別
問:STM32F10XX系列SPI和USART區別?我想用USATR對SD卡進行讀寫是否可行?我用USART的同步方式跟SPI是一樣的嗎?我用的STM32中的USART可以接SPI設備,它是一個同步/異步收發器。我在看開發板時看到有開發板是用SPI對SD卡進行操作的。應該是用的SD卡的MMC/SPI模式。只是沒有見到用它的USART讀寫SD卡的例子,不知道哪有這方面的資料。
答:請先SPI和USART都沒有搞清楚,再搞用USATR對SD卡進行讀寫,我不知道你的sd卡是哪個型號,但是一般的存貯器件不會采用uart口的,SD卡是用來存儲大容量數據的,讀寫數據在速度在要求快,而uart口的速度一般不會很快,你看看你的串口調試助手就知道了,上面有波特率,所以sd卡不會用uart口來讀寫的,再說了,用什么口來讀寫sd卡都是一樣的,你只要按照datasheet 的命令格式給卡發送命令就可以操作它了,建議不要糾結這個問題!


評論