娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年08月22日(星期四)

正在發(fā)生

2018年08月22日 | stm32 printf 死機(jī)

發(fā)布者:和諧相處 來(lái)源: eefocus關(guān)鍵字:stm32  printf  死機(jī) 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

標(biāo)準(zhǔn)庫(kù)函數(shù)的默認(rèn)輸出設(shè)備是顯示器,要實(shí)現(xiàn)在串口或LCD輸出,必須重定義標(biāo)準(zhǔn)庫(kù)函數(shù)里調(diào)用的與輸出設(shè)備相關(guān)的函數(shù).


例如:printf輸出到串口,需要將fputc里面的輸出指向串口(重定向),方法如下:


#ifdef __GNUC__



#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)

#else

#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)

#endif 



PUTCHAR_PROTOTYPE

{

USART_SendData(USART1, (uint8_t) ch);


while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);

return ch;

}



因printf()之類的函數(shù),使用了半主機(jī)模式。使用標(biāo)準(zhǔn)庫(kù)會(huì)導(dǎo)致程序無(wú)法運(yùn)行,以下是解決方法:



方法1.使用微庫(kù),因?yàn)槭褂梦?kù)的話,不會(huì)使用半主機(jī)模式.




方法2.仍然使用標(biāo)準(zhǔn)庫(kù),在主程序添加下面代碼:



#pragma import(__use_no_semihosting) 

_sys_exit(int x) 

x = x; 

struct __FILE 

int handle; 




}; 


FILE __stdout;

另一個(gè)高手的講解

剛開始學(xué)stm32,順著gpio、uart。。。的順序慢慢爬

初始化的方法學(xué)習(xí)了馬老師的STM32_Init.h****,自己英文還可以,加上avr的基礎(chǔ)還不錯(cuò),所以gpio和時(shí)鐘配置都很順利

碰到uart就頭大了,看到各種例程里都是printf()函數(shù),自己也想用,畢竟是avr想用卻開銷不了的東西。但是我自己寫的程序里一旦出現(xiàn)printf,單片機(jī)的不干活了。查論壇首先發(fā)現(xiàn)要重定義fputc函數(shù),照做了,還是不行。

后來(lái)懷疑是uart1初始化問(wèn)題,用自己寫的put_c函數(shù)卻沒(méi)問(wèn)題。

后來(lái)又發(fā)現(xiàn)一種說(shuō)法,需要避免使用semihosting(半主機(jī)模式),我也把代碼加進(jìn)去了(改fputc去掉了),還是不行。

再一想,重定義fputc是絕對(duì)必須的,加上了之后問(wèn)題解決,成功使用printf("(敏感詞0373) \n");輸出了,哈哈

***************************************************************************************************


以上廢話,可以不看。

簡(jiǎn)單地說(shuō):想在mdk 3.80a中用printf,需要同時(shí)重定義fputc函數(shù)和避免使用semihosting(半主機(jī)模式), 

論壇里應(yīng)該有完整介紹這個(gè)的帖子,但是我沒(méi)搜到,也許是沉了。重發(fā)出來(lái)希望能幫上像我這樣的菜鳥們。


需要添加以下代碼



#pragma import(__use_no_semihosting) 

/****************************************************************************** 

*標(biāo)準(zhǔn)庫(kù)需要的支持函數(shù) 

******************************************************************************/ 

struct __FILE 

int handle; 

/* Whatever you require here. If the only file you are using is */ 

/* standard output using printf() for debugging, no file handling */ 

/* is required. */ 

}; 

/* FILE is typedef’ d in stdio.h. */ 

FILE __stdout; 


///

 

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

///

 

///  

///  

_sys_exit(int x) 

x = x; 




int fputc(int ch, FILE *f)

{

    //USART_SendData(USART1, (u8) ch);

    USART1->DR = (u8) ch;

    

    /* Loop until the end of transmission */

    while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)

    {

    }


    return ch;

}



關(guān)鍵字:stm32  printf  死機(jī) 引用地址: stm32 printf 死機(jī)

上一篇:STM32的BootLoader升級(jí)
下一篇:關(guān)于STM32 使用sprintf 死機(jī)問(wèn)題

推薦閱讀

自今年4月在2017年年報(bào)中透露將進(jìn)行集成電路產(chǎn)業(yè)的技術(shù)研發(fā)和市場(chǎng)推廣后,外界一直猜想格力電器將涉足芯片行業(yè),格力電器董事長(zhǎng)兼總裁董明珠也在公開場(chǎng)合表達(dá)過(guò)格力電器投資芯片行業(yè)的決心。近日,格力電器進(jìn)軍芯片行業(yè)的說(shuō)法有了實(shí)際行動(dòng)。國(guó)家企業(yè)信用信息公示系統(tǒng)顯示,2018年8月14日,珠海零邊界集成電路有限公司成立,注冊(cè)資本達(dá)10億元,經(jīng)營(yíng)范圍為半...
莫仕和羅森伯格為高速互連車輛應(yīng)用簽署雙源協(xié)議 Molex 和羅森伯格簽署雙源協(xié)議,使 Molex 可以基于羅森伯格的 HFM? 設(shè)計(jì)來(lái)生產(chǎn)高速 FAKRA-Mini 汽車同軸連接器。羅森伯格的 HFM FAKRA-Mini 系統(tǒng)可使數(shù)據(jù)傳輸達(dá)到 20 Gbps 的極高速率,設(shè)計(jì)可供一系列現(xiàn)有及未來(lái)的汽車應(yīng)用使用,例如高級(jí)駕駛輔助系統(tǒng) (ADAS)、導(dǎo)航、車載信息娛樂(lè)系統(tǒng),以及智...
手機(jī)和基站需要半導(dǎo)體,這兩條業(yè)務(wù)線占華為業(yè)務(wù)的90%。如果無(wú)法生產(chǎn)這些產(chǎn)品,這些業(yè)務(wù)可以預(yù)見(jiàn)將會(huì)受到重大影響。在8月17日美國(guó)宣布試試更嚴(yán)厲的制裁措施后,分析人士認(rèn)為這幾乎是是對(duì)華為的“死刑判決”。而華為員工則越來(lái)越擔(dān)心公司面臨裁員,形容公司已經(jīng)進(jìn)入“戰(zhàn)爭(zhēng)狀態(tài)”(state of war)。《金融時(shí)報(bào)》報(bào)導(dǎo)指出,華為研發(fā)部門的一名員工表示:“我...
諾基亞于 8 月 17 日宣布,支付寶主動(dòng)掃碼等功能,正式登陸 Nokia 8000、6300 兩款 4G 功能手機(jī)。手機(jī)打開設(shè)置進(jìn)行軟件更新后,即可使用支付寶 App,可以掃描商家收款碼,同時(shí)展示自己的付款碼。  根據(jù)IT之家網(wǎng)友投稿,在諾基亞手機(jī)官方微信公眾號(hào)中,官方回復(fù)用戶稱,諾基亞 2720、800 兩款 4G 功能機(jī)也將升級(jí),增加類似的支付寶...

史海拾趣

問(wèn)答坊 | AI 解惑

電源管理要過(guò)節(jié)能降耗關(guān)

待機(jī)能耗問(wèn)題目前已成為國(guó)際社會(huì)普遍關(guān)注的熱門話題,降低家用電器待機(jī)能耗不僅意味著為消費(fèi)者節(jié)省用電開支,對(duì)緩解日趨緊張的能源壓力有積極作用,更直接的是減少了能源浪費(fèi)和環(huán)保壓力。由中國(guó)電子商會(huì)電源專業(yè)委員會(huì)、北京電源行業(yè)協(xié)會(huì)聯(lián)合主辦的 ...…

查看全部問(wèn)答∨

【verilog語(yǔ)法分析】怎樣使用任務(wù)

  舉例說(shuō)明如何使用任務(wù): module bus_ctrl_tb;     reg [7:0] data;     reg data_valid, data_rd;     cpu ul(data_valid,data,data_rd);     initial begin & ...…

查看全部問(wèn)答∨

x86上跑wince,加hive注冊(cè)表后停留在開機(jī)畫面

急啊!x86上跑wince,加hive注冊(cè)表后停留在開機(jī)畫面 ,這是怎么回事。  加hive 注冊(cè)表有些什么詳細(xì)步驟?我只是加了組件和注冊(cè)表里按照網(wǎng)上添加一些東西。我不知道它詳細(xì)的步驟。!!!!!!…

查看全部問(wèn)答∨

求把自己寫的設(shè)備驅(qū)動(dòng)程序編譯進(jìn)嵌入式arm Linux內(nèi)核的具體方法?

自己寫了個(gè)ds1307的設(shè)備驅(qū)動(dòng)程序源代碼(iic_ds1307.c),但是對(duì)編譯內(nèi)核的方法不是很了解,怎樣把這段代碼嵌入到arm linux 2.4.20的內(nèi)核中?…

查看全部問(wèn)答∨

物聯(lián)網(wǎng)新領(lǐng)域780M無(wú)線傳輸模塊

眾所周知我們一直使用的無(wú)線頻段是 2.4G 433 780M是本公司研發(fā)的新領(lǐng)域,相對(duì)于 24G 433 有明顯的優(yōu)勢(shì) 如下圖典型參數(shù) 2.4GHz 433MHz 780MHz 通信頻率 該頻段有藍(lán)牙、WiFi以及其它短距離無(wú)線技術(shù),同時(shí)家用的微波爐也在該頻段范圍內(nèi),用戶比較多, ...…

查看全部問(wèn)答∨

關(guān)于DSP builder 9.1的破解問(wèn)題

諸位兄臺(tái):本人用的是quartus9.1 +matlab200+dsp builder 9.1 sp1,在破解dsp builder 9.1的時(shí)候,PortManager.dll總是破解不了,錯(cuò)誤提示為:文件CRC校驗(yàn)錯(cuò)誤,繼續(xù)修補(bǔ)將會(huì)損壞原始文件。本人琢磨了很久,都無(wú)功而返,懇請(qǐng)各位大蝦施以援手,感激 ...…

查看全部問(wèn)答∨

差動(dòng)放大

如圖V0-V1(1+R2/R1)=(V2-V1(1+R2/R1))(1+R4/R3)這樣計(jì)算可以嗎??…

查看全部問(wèn)答∨

請(qǐng)問(wèn):購(gòu)買LM3S芯片在那個(gè)網(wǎng)站好?少量的,謝謝!

淘寶網(wǎng) 芯芯向榮 http://shop63140854.taobao.com/?spm=1103MTfS.1-4CM1e.2-2pLQrw 行嗎?…

查看全部問(wèn)答∨

充電器輸出

我現(xiàn)在有一個(gè)疑問(wèn),充電器上標(biāo)的電流是什么意思?…

查看全部問(wèn)答∨

AD623輸出有問(wèn)題

AD623,放大2倍,剛上電輸出正常,大約1分鐘后輸出值開始上漲,隨機(jī)輸出編程零。請(qǐng)高手指點(diǎn),謝謝! …

查看全部問(wèn)答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 崇明县| 黑河市| 大新县| 阜新| 公主岭市| 曲阜市| 博客| 莱西市| 井陉县| 黔南| 临城县| 吉安县| 浪卡子县| 安龙县| 阿拉善盟| 南丰县| 华宁县| 云霄县| 黔江区| 台南县| 平昌县| 罗田县| 榆林市| 静海县| 玉田县| 桐城市| 天峨县| 大洼县| 台州市| 新乐市| 江源县| 宣威市| 娄烦县| 德格县| 诸暨市| 凤凰县| 祁门县| 漳浦县| 定南县| 吉隆县| 游戏|