欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: [技術]為什么單片機C語言編程時某一變量有時被修改亂碼 [打印本頁]

作者: yonko    時間: 2020-3-10 19:08
標題: [技術]為什么單片機C語言編程時某一變量有時被修改亂碼

最近一個項目里面,在KEIL用C語言在單片機里面定義了一個狀態機全局變量,這個變量隨時會改變,用于切換觸摸屏的界面,
可是程序運行中出現了一個問題,這個狀態機號總是出現了被莫名奇妙改變的問題,導致觸屏不能正常跳轉到預設的界面,
經過檢查分析,可能有兩個原因:
•)全局變量與局部變量同名重復定義。有可能是你定義了一個與全局變量一樣名字的局部變量,并在子程序里面修改了變量值。
•)缺少volatile修飾符。C語言中volatile修飾符不常用,它的作用是明確該變量是變化的,防止編譯器對該變量進行優化,讓處理器在運行時每次都從內存中讀取數據,而不是用寄存器中的備份數據。此修飾命令建議僅對全局有重要作用的關鍵變量使用。
用法:定義時:volatile unsigned chara;//定義了一個字符變量a
經檢查是第2個原因,在程序中定義變量時添加volatile修飾符后問題解決。
關注我,分享科技開發、高效思維、理財等的點點滴滴。公號:yonkotech






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1