国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

為什么STM32中運行的C程序執(zhí)行某些函數(shù)時死機?

發(fā)布者:快樂航程最新更新時間:2025-01-14 來源: cnblogs關(guān)鍵字:STM32  C程序  函數(shù)  死機 手機看文章 掃描二維碼
隨時隨地手機看文章

問題產(chǎn)生環(huán)境:

    1、STM32F1 MCU  中通過USART2使用PD7、PA2、 PA3實現(xiàn)RS485通信,RS485通信部分代碼測試是沒有問題的,很穩(wěn)定;

    2、能過PA0模擬按鍵,當按下時向RS485從設(shè)備發(fā)送功能碼輪詢數(shù)據(jù);

    3、自已實現(xiàn)的RS485協(xié)議棧,功能碼0x1到0x6及0x16單獨測試是通過的;

    4、程序能過3中的RS485協(xié)議棧實現(xiàn)的主、從機應(yīng)用代碼。一主機少量(比如10個)從機時,測試沒有問題,但當從機達到100個時程序無響應(yīng)死機了。

問題原因:

     程序??臻g小了不能滿足100個從機(結(jié)構(gòu)體為15字節(jié))所占的空間(STM32 程序默認??臻g為0x00000400,即1024字節(jié))。

問題簡單再現(xiàn):

int main(void)

{

    float fa[300];        // 局部變量

    // 其它操作......

}

問題解決:

       1、找到startup_stm32f10x_hd.s文件調(diào)整默認棧大小。

            找到代碼 :Stack_Size      EQU     0x00000400   比修改為 Stack_Size EQU 0x00000800

       2、避免使用占用??臻g過大的變量。

       3、將局部變量調(diào)整為全局變量。此方法大多情況會解決問題。

關(guān)鍵字:STM32  C程序  函數(shù)  死機 引用地址:為什么STM32中運行的C程序執(zhí)行某些函數(shù)時死機?

上一篇:基于stm32的多功能時鐘7——報警模塊設(shè)計
下一篇:STM32一文通(8) 串口通訊

推薦閱讀最新更新時間:2025-06-04 12:24

STM32中的func1和func2函數(shù),哪個效率高?
先看下面的兩個函數(shù): 函數(shù)1 int array ; int func1() { int x,int y; for(x=0;x 10240;x++) { for(y=0;y 10240;y++) { array =1234; } } } 函數(shù)2 intarray ; int func2() { int x,int y; for(x=0;x 10240;x++) { for(y=0;y 10240;y++) { array =1234; } } } 看出差異了嗎? 在STM32單片機中,上面的func1和func2函數(shù)
[單片機]
stm32函數(shù)記錄
一、系統(tǒng)初始化函數(shù)執(zhí)行完畢各時鐘的狀態(tài) 二、三類(總線上的)時鐘函數(shù) 2.1、外設(shè)時鐘使能函數(shù) void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState); void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewStat e); void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewStat e); 此3 個時鐘使能函數(shù)也是 STM32
[單片機]
<font color='red'>stm32</font>庫<font color='red'>函數(shù)</font>記錄
printf()函數(shù)重定向到STM32串口輸出
最近遇到需要MCU輸出數(shù)字的問題,而STM32的串口輸出的是字符型,最先想到的方法是將整型數(shù)據(jù)轉(zhuǎn)換為字符型輸出,C庫函數(shù)中提供了相關(guān)的函數(shù) 參考:http://www.cnblogs.com/processakai/archive/2011/06/24/2089348.html http://c.biancheng.net/cpp/html/1573.html C語言中使用printf()函數(shù)輸出是非常方便功能非常強大的,如果能將printf()函數(shù)使用到串口上,能實現(xiàn)非常多的強大輸出功能,極大方便我們使用串口輸出功能。 printf()函數(shù)是輸出到顯示器,而MCU是沒有顯示器的,要使他輸出到串口,需要重定向該函數(shù) pri
[單片機]
STM32 對內(nèi)部FLASH讀寫接口函數(shù)
因為要用內(nèi)部FLASH代替外部EEPROM,把參數(shù)放在STM32的0x08000000+320K處,其中20K是bootloader,300K是應(yīng)用程序。 原理:先要把整頁FLASH的內(nèi)容搬到RAM中,然后在RAM中改動,然后擦除整頁FLASH,再把改動后的內(nèi)容寫入原Flash頁。下面程序調(diào)試通過。 /******************************************************************************* * Function Name : I2C_EE_BufferRead * Description : Reads a block of data from the
[單片機]
stm32 中斷函數(shù)名稱表
stm32 中斷服務(wù)函數(shù)的名稱有點特別,它們的名稱是固定的, 但是表面看起來又好像沒什么規(guī)律, 還是老辦法,寫下來死記了。 WWDG_IRQHandler PVD_IRQHandler TAMPER_IRQHandler RTC_IRQHandler FLASH_IRQHandler RCC_IRQHandler EXTI0_IRQHandler EXTI1_IRQHandler EXTI2_IRQHandler EXTI3_IRQHandler EXTI4_IRQHandler DMA1_Channel1_IRQHandler DMA1_Channel2_IRQHan
[單片機]
51單片機ADC0832電壓測量液晶1602顯示的C程序與proteus仿真
很早對AD轉(zhuǎn)換感興趣,也想自己業(yè)余做塊單片機開發(fā)板,讓廣大的電子設(shè)計愛好者學習使用單片機。 今天通過搜索,整理了proteus 7可以仿真通過的基于51單片機+ADC0832電壓采集并通過液晶1602顯示電壓的C程序及電路連接圖,希望對大家有所幫助。 程序是誰寫的誰修改的并不主要,主要的是學會并使用單片機AD轉(zhuǎn)換,這才是王道。 電路連接圖如下: C程序如下: #include reg52.h #include intrins.h #include math.h /**********************************8/ /**********LCD1602接口程序*********
[單片機]
51單片機ADC0832電壓測量液晶1602顯示的<font color='red'>C程序</font>與proteus仿真
iMX257引腳配置函數(shù)/內(nèi)存讀寫函數(shù)
要包含的三個頭文件: #include mx257_gpio.h #include mx25_pins.h #include iomux.h 一、GPIO引腳使用 選擇引腳模式- 引腳配置- 申請GPIO- 設(shè)置引腳輸入/輸出- 讀取GPIO- 釋放引腳模式- 釋放GPIO 1.選擇引腳的模式(ALT0-ALT7) int mxc_request_iomux(iomux_pin_name_t pin, iomux_pin_cfg_t cfg) void mxc_free_iomux(iomux_pin_name_t pin, iomux_pin_cfg_t cfg) 示例: mxc_request_iomux(GPIO
[單片機]
函數(shù)信號發(fā)生器的設(shè)計與實現(xiàn)
1. 前言 在人們認識自然、改造自然的過程中,經(jīng)常需要對各種各樣的電子信號進行測量,因而如何根據(jù)被測量電子信號的不同特征和測量要求,靈活、快速地選用不同特征的信號源,就成了現(xiàn)代測量技術(shù)值得深入研究的課題。信號源主要給被測電路提供所需要的已知信號(各種波形),然后人們用其它儀表測量感興趣的參數(shù)。信號源在各種實驗應(yīng)用和實驗測試處理中,不是測量儀器,而是根據(jù)使用者的需求,作為激勵源,仿真各種測試信號,提供給被測電路,以滿足測量或各種實際需要。 函數(shù)信號發(fā)生器就是信號源的一種,能夠給被測電路提供所需要的波形。傳統(tǒng)的波形發(fā)生器多采用模擬電子技術(shù),由分立元件或模擬集成電路構(gòu)成,其電路結(jié)構(gòu)復(fù)雜,不能根據(jù)實際需要靈活擴展。隨著微電子技術(shù)的發(fā)展
[測試測量]
<font color='red'>函數(shù)</font>信號發(fā)生器的設(shè)計與實現(xiàn)
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved