STM32陣列越界問題

2021-06-22 09:43:38 字數 612 閱讀 5511

前段時間在寫stm32程式時,發現定義的區域性變數會發生莫名其妙的陣列越界,改變其定義順序問題竟然得到解決,懷疑是堆疊空間沒有分配夠,於是決定追根溯源,查到一些資料,將startup_stm32f10x_hd.s中的棧空間改大即可:

stack_size      equ     0x00000400;棧空間大小;

area stack, noinit, readwrite, align=3

stack_mem space stack_size

__initial_sp

; heap configuration

; heap size (in bytes) <0x0-0xffffffff:8>

; heap_size equ 0x00000200;堆空間大小;

area heap, noinit, readwrite, align=3

__heap_base

heap_mem space heap_size

__heap_limit

另:如果仍然不行,可修改keill mdk中的**優化等級,優化為設定為最低:

關於STM32中定義陣列的問題

功能描述 今天做資料採集,tim2定時中斷20ms採集一次資料,並存入乙個陣列中。採集完4000個資料後,用串列埠將這4000個資料依次傳送給上位機。問題描述 debug中對陣列指標add watch,發現指標由0增加至1後就不再增加,懷疑tim2配置有問題,只進了一次中斷。於是查了半天關於定時中斷...

STM32除錯問題

1 stm32用iar除錯出現error pe020 identifier file is undefined 解決方法 需要在 iar的options general options library configuration裡設定一下函式庫,不然printf函式不對,將library confi...

預熱2 什麼是STM32?認識STM32

1 什麼是stm32 stm32是由arm公司設計,意法半導體 st 公司生產的基於 arm cortex m 核心的32 位的mcu 系列。2 stm32能做什麼?stm32 屬於乙個微控制器,適用於控制類,自帶了各種常用通訊介面,比如 usart i2c spi 等,可接非常多的感測器,可以控制...