天天看點

「基于stm32f407應用」使用printf列印資料

原理圖:

圖1:采用晶片 stm32f407vet6

「基于stm32f407應用」使用printf列印資料

圖2:采用使用SP232進行序列槽通訊,使用PA9/PA10引腳

「基于stm32f407應用」使用printf列印資料

printf列印:

根據上面原理圖,可知使用PA9/PA10進行RS232通訊,查找資料手冊後,PA9為發送引腳,PA10為接收引腳。

「基于stm32f407應用」使用printf列印資料

編寫代碼:

1、初始化(需要GPIO初始化、USART初始化)

完成初始化後,再打開相應的使能

「基于stm32f407應用」使用printf列印資料

2、GPIO初始化

「基于stm32f407應用」使用printf列印資料

3、USART初始化

使用AF模式引腳

「基于stm32f407應用」使用printf列印資料

4、重定義printf

基于<stdio.h>頭檔案改寫printf

「基于stm32f407應用」使用printf列印資料

按照規則改寫 fputc ,之後可在其他地方直接使用 printf 語句

「基于stm32f407應用」使用printf列印資料

5、編寫測試語句

需要添加 #include <stdio.h>

「基于stm32f407應用」使用printf列印資料

6、未配置微庫

此時直接編譯無報錯

「基于stm32f407應用」使用printf列印資料

仿真後,需要點選3次才可以進行main中運作。直接下載下傳,程式不運作。

「基于stm32f407應用」使用printf列印資料

7、上述步驟需要添加微庫,才可以正常運作。

勾選“use MicroLIB”

「基于stm32f407應用」使用printf列印資料

運作編譯後,正常運作,仿真、下載下傳正常。

8、通訊資料示範

ASCII傳輸資料,不勾選16進制顯示,列印字元串正常;

「基于stm32f407應用」使用printf列印資料

勾選16進制顯示,列印數組正常。

「基于stm32f407應用」使用printf列印資料

# 可以選擇不添加微庫

使用下面代碼改寫 fputc 中的内容。

「基于stm32f407應用」使用printf列印資料

繼續閱讀