STM32通過UART使用printf列印資料

2021-10-04 00:11:30 字數 913 閱讀 7830

首先進行各項初始化,並新增stdio標頭檔案之後新增如下**

庫函式

int

fputc

(int ch, file *f)

int getkey (

void

)

暫存器

int

fputc

(int ch, file *f)

fputc()是printf()的底層函式,通過fputc()來使告知微控制器列印資料到串列埠並將資料逐個傳送

由於在半主機模式下無法使用標準庫,解決辦法是使用微庫,即可預設關閉半主機模式,在target中勾選use microlib

第二種方法即不勾選use microlib,這也是比較推薦的方法,在串列埠的檔案下新增如下**即

#if 1

#pragma import(__use_no_semihosting)

//標準庫需要的支援函式

struct __file

; file __stdout;

//定義_sys_exit()以避免使用半主機模式

void

_sys_exit

(int x)

//重定義fputc函式

intfputc

(int ch, file *f)

;//迴圈傳送,直到傳送完畢

usart1->dr =

(u8) ch;

return ch;

}#endif

STM32通過Fatfs建立PDF檔案

上面是我建立的群聊,歡迎新朋友的加入。最近想用mcu去建立乙個pdf檔案,曾嘗試移植hpdf和pdfgen,因為這兩個本就不是為微控制器做的庫,移植過程有點複雜了。後面發現st論壇有個發布了乙個pdflib的庫,便做了一下移植。目錄 1.參考鏈結 2.工程說明 3.效果 doc裡面是參考的原始碼,或...

使用STM32通過pwm控制ZTW電調

我買的是中特威40a無刷水冷雙向電調黑色的三根粗線就與無刷電機相連即可 紅色與黑色的粗線就是電調的供電線了紅色的接正極至於那三根細線就是電調的訊號線了紅色接電 可以給板子供電 綠色的接gnd,黃色的就是訊號線了接pwm引腳。這裡說一下電調的控制頻率和控制訊號範圍一定要和賣家要類似於這樣的說明書 其次...

stm32通過485接串列埠做IAP

stm32官方給了乙個通過串列埠進行iap的例程,其原理是按照ymodem協議 可自行谷歌,在此不做詳細介紹 乙個包乙個包的傳送,接收完乙個包之後傳送ack,配合超級終端使用,超級終端可以按照ymodem協議來傳送檔案,省去了人為去編寫pc端程式的工作。這個例程中提供了keil,iar等整合開發環境...