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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1907|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

[技術(shù)]為什么單片機(jī)C語言編程時(shí)某一變量有時(shí)被修改亂碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:63113 發(fā)表于 2020-3-10 19:08 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

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

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表