在IAR編譯環境下,stm32想使用printf函數打印串口數據。
在uVision中,兩個編譯器的重定義方式是不一樣的,需要注意。
在IAR編譯環境中,
步驟1-5已驗證,步驟6參考的別人的并未驗證,具體步驟如下如下:
使用串口1:
1、串口初始化,GPIO、時鐘配置(此處不贅述);
2、在option中添加全局的宏,_DLIB_FILE_DESCRIPTOR
3、#include “stdio.h”
4、重定義int fputc(int ch, FILE *f)函數:
int fputc(int ch, FILE *f)
{
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET)
{}
USART_SendData(USART1,(uint8_t) ch);
return ch;
}
5、在工程中調用printf()函數,格式控制在此不在贅述。
6、為了讓串口接收數據,還需重寫回調函數 Int GetKey(void)
Int GetKey(void)
{
while(!(USART1->SR & USART_FLAG_RXNE))
{}
return ((int)(USART1->DR & 0X1FF))
}
**
在uVision編譯環境中,
**
usart.h文件
usart.c文件
上一篇:STM32F103之IAR添加printf
下一篇:關于stm32中printf函數重定向問題
推薦閱讀
史海拾趣
自成立以來,Holt Integrated Circuits便專注于為航空電子行業提供高性能的集成電路解決方案。四十多年來,Holt始終站在技術前沿,為全球超過400家制造商提供模擬和混合信號IC數據總線解決方案。從F-16到A-350等先進飛行器,Holt的IC產品已成為飛行控制、導航、發動機管理、通信、安全系統及機上娛樂系統的核心部件。這種長期且穩定的合作關系,不僅奠定了Holt在航空電子領域的領導地位,也推動了整個行業的技術進步。
EREM公司起源于1960年代的瑞士日內瓦,由一群熱衷于精密工具制造的工程師創立。在當時,電子行業正逐漸興起,對高精度工具的需求日益增長。EREM的創始人看到了這一市場機遇,決定專注于生產高精度鑷子和鉗子,以滿足電子行業的需求。他們憑借精湛的工藝和不懈的努力,逐漸在行業內建立了良好的聲譽。
隨著國內市場的飽和,C-TON開始將目光投向國際市場。公司制定了全球化的發展戰略,通過設立海外分公司、參加國際展會等方式,積極開拓海外市場。同時,C-TON還加強了與國際同行的交流與合作,學習借鑒他們的先進經驗和技術。這些舉措使得C-TON的產品逐漸在國際市場上占據了一席之地,公司的業務范圍也得到了極大的拓展。
面對快速變化的市場需求,Frequency Devices公司展現出了敏銳的市場洞察力。在21世紀初,隨著無線通信技術的快速發展,對高頻電子元件的需求急劇增加。公司及時調整產品策略,加大了對無線通信領域高頻產品的研發投入,并成功推出了一系列適用于手機、基站等通信設備的高頻濾波器、功率放大器等關鍵元件。這些產品不僅滿足了市場需求,還進一步鞏固了公司在行業內的市場地位。
面對快速變化的市場需求,Frequency Devices公司展現出了敏銳的市場洞察力。在21世紀初,隨著無線通信技術的快速發展,對高頻電子元件的需求急劇增加。公司及時調整產品策略,加大了對無線通信領域高頻產品的研發投入,并成功推出了一系列適用于手機、基站等通信設備的高頻濾波器、功率放大器等關鍵元件。這些產品不僅滿足了市場需求,還進一步鞏固了公司在行業內的市場地位。
sja1000,ep9307,can通信驅動,連續接收4幀后,第5幀,經常丟失 os:wince5.0 cpu:ep9307 200MHz CAN:sja1000 ------------------------- 我現在用的是一塊工控板,直接用的別人給的nk.bin,有can的驅動源碼 我在wince里做應用,發現別人連續發送5幀的話,大部分情況下,只能接收到前4幀。 我做了個測試 ...… 查看全部問答∨ |
|
很簡單,我一個1500轉的電機,但是想跑30多轉,覺得不合適,覺得會對電機不好,但是找不到理由,沒想到,本來想說扭矩小,可是好像轉速慢,扭矩大啊。 在此請教高人解答了,不勝感激!!!… 查看全部問答∨ |
我很喜歡搞軟件 又對硬件很癡迷 現在才剛起步 不知道自己到底往哪個方向發展 從小就喜歡做東西 現在對軟件開發又愛不釋手 最重要是 現在軟件硬件都不是很好 也不曉得自己更偏向于哪個方面! 迷茫啊 ~~~各位給點建議,好不好?~~~ ...… 查看全部問答∨ |