51微控制器 除錯技巧 陣列越界

2021-10-20 19:35:19 字數 412 閱讀 9099

微控制器除錯經常遇到各種奇怪的問題,今天又碰到乙個,特此記錄

問題描述:乙個變數,只有賦值,沒有運算,中斷只有乙個比較,數值出現異常

除錯半天無果,搜尋了一下有網友說可能是記憶體越界,但怎麼知道是哪個陣列呢?

祭出神器,工程目錄下找到.m51結尾的檔案,這個裡面是儲存對映。

記事本開啟,搜尋異常變數,在上方果然有乙個陣列

這個陣列也確實有個指標在中斷裡沒有約束,自己認為不會越界,但還是越界了,

更改方法就簡單了,給指標加約束或是直接擴大陣列。

因為空間足夠(懶)的原因,空間直接給他翻倍,改完測試,ok

51微控制器

數碼管顯示幾乎是每次藍橋杯微控制器設計與開發組競賽的必考部分,相對於使用lcd1602作為顯示裝置,使用數碼管來顯示能夠更好的考察參賽選手的微控制器基本功,因為ct107d開發平台的設計使得數碼管的顯示不僅牽扯到數碼管顯示的 基本內容,還涉及到74hc573鎖存器,74hc02異或門,74hc138...

51微控制器

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 1.供電電源 一般開發板上提供兩種供電方式,usb供電和專用電源供電。使用usb供電你只要用一根usb線將開發板usb電源介面與電腦的usb...

51微控制器

設計包含乙個矩陣式鍵盤電路和動態顯示電路的微控制器應用系統,通過根據按下不同的數字按鍵 0 9 在數碼管上顯示出自己學號的後8位。各位大神幫忙挑挑錯,或者問題太大了可以幫忙寫乙個新的麼!萬分感謝!好著急 a 8255 equ 7cffh a口 b 8255 equ 7dffh b口 c 8255 e...