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

標題: 關于單片機低功耗休眠的變量清除 [打印本頁]

作者: k9702    時間: 2021-8-7 11:50
標題: 關于單片機低功耗休眠的變量清除
現在做的一個項目要求退出低功耗后在進入低功耗的地方重啟,意味著我不能對單片機進行復位。那么問題來了,我改如何便捷的把定義的變量數據清零?(復位后RAM區自動擦除)
用戶可以手動對RAM區域進行清零嗎?還是說要一個一個變量去手動置零。
我看了一下現在用的韓國現代單片機手冊,好像沒有相關的操作,拋開單片機的類型來說,用戶手動對RAM區域進行清除這種操作存在嗎?
而且如果單獨清除RAM區域,會影響IO口的配置嗎?(應該是不影響的吧)

作者: lkc8210    時間: 2021-8-7 23:42
你可以把需要初始化的變數總一放入一個函數內,如SysInit()
開機走一次
喚醒中斷走一次
void main()
{
  SysInit();
  while(1)
  {
    //你的代碼
  }
}
void WakeUp() interrupt x
{
  SysInit();
}

但變數清零又在進入低功耗的地方重啟
不會影響運行嗎?
作者: k9702    時間: 2021-8-9 10:15
lkc8210 發表于 2021-8-7 23:42
你可以把需要初始化的變數總一放入一個函數內,如SysInit()
開機走一次
喚醒中斷走一次

我目前也是類似的做法,就是想問問如果變量多的話有沒有更加便捷的方法,至于你說的影響程序運行,是我的表達有點問題,我進入休眠相當于重新開機。
作者: 權威人物    時間: 2021-8-9 16:45
k9702 發表于 2021-8-9 10:15
我目前也是類似的做法,就是想問問如果變量多的話有沒有更加便捷的方法,至于你說的影響程序運行,是我的 ...

你題目要求在進去低功效的地方重啟,則喚醒的時候就是你進去的地方!他想表達的是你此時清除了變量和你在那啟動有什么關系呢?相當重新開機的意義何在?一般休眠醒來是保存了一些變量的,也會清除一些變量方便操作,
作者: lkc8210    時間: 2021-8-9 17:08
k9702 發表于 2021-8-9 10:15
我目前也是類似的做法,就是想問問如果變量多的話有沒有更加便捷的方法,至于你說的影響程序運行,是我的 ...

如果你是用STC的單片機可以在喚醒中斷中進行軟件復位
至于其它牌子的單片機就不知道有沒有類似的功能



作者: Y_G_G    時間: 2021-8-9 18:30
一般來說,單片機休眠后
如果是喚醒了,就兩種可能:
一種是直接進入喚醒源中斷程序,執行完中斷之后再去執行休眠的下一個語句
一種是喚醒后直接執行休眠的下一個語句
但沒說是喚醒后就復位的
要是喚醒后直接復位的,那不叫喚醒,那就叫復位,有中斷復位,低電壓復位之類的
作者: yzwzfyz    時間: 2021-8-9 20:50
退出休眠單片機是可以識別的(芯片讀讀手冊)。
寫一個復位程序,復位你需要復位的參數。
每次退出休眠時,調用一下不就好了嗎。
作者: liuhailan5757    時間: 2021-8-10 10:18
樓主 你單片機的復位和單片機喚醒的概念都沒弄清楚哦。。睡眠喚醒后,是接著執行喚醒后面的語句,如果值中斷喚醒,就直接進入中斷,退出中斷后就接著執行后面的語句,怎么可以會清掉RAM呢。 復位是,單片機從0000H 開始執行了,那肯定,要清掉RAM啊。
作者: Jiang_YY    時間: 2021-8-10 22:34
1 有些單片機有軟復位RAM功能,復位RAM后不會改變程序指針。
2 軟件上使用指針變量,指向RAM最低地址,然后根據RAM地址空間大小使用FOR循環初始化RAM。




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