關於STM32中定義陣列的問題

2021-08-04 05:22:22 字數 439 閱讀 7102

功能描述:今天做資料採集,tim2定時中斷20ms採集一次資料,並存入乙個陣列中。採集完4000個資料後,用串列埠將這4000個資料依次傳送給上位機。

問題描述:debug中對陣列指標add watch,發現指標由0增加至1後就不再增加,懷疑tim2配置有問題,只進了一次中斷。於是查了半天關於定時中斷配置及清除中斷標誌位的問題,一直得不到解決。

void tim2_irqhandler(void)

在tim2中斷函式處設定斷點,debug發現中斷進入沒問題,但每次指標增加到1後就會在下次中斷時又變為0,確定了中斷沒有問題,那就應該是指標、陣列定義的問題了。

解決方法:將陣列定義改為

u32 vel_value[3999]=;

即可解決問題。即,陣列大小一定要明確定義,不能為空。

關於STM32的變數定義

關於stm32的變數定義 分類 嵌入式系統 2014 10 15 19 03 983人閱讀 收藏 舉報 今天除錯程式時,想觀察一下變數的情況,突然發現平時經常移植別人程式時最容易忽略的乙個致命問題,那就是忽略變數型別,這裡有必要給大家一定知識啦,都是庫裡面的,非原創!3.0以後的版本中使用了cmsi...

STM32陣列越界問題

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

STM32 關於GPIO的問題

stm32 關於gpio的問題集錦 1 關於gpio 問 stm32的io口初始化為輸入浮空,那管腳是高電平還是低電平呢?答 既不是高電平也不是低電平,懸空的意思是沒有使用的狀態。2 有關stm32f103 埠復用的問題?問 配置io口的頻率時,為什麼只給乙個io口配置?答 gpio initstr...