久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5072|回復: 16
收起左側

關于單片機低功耗無法喚醒的求助

[復制鏈接]
ID:887186 發表于 2021-8-30 15:20 | 顯示全部樓層 |閱讀模式
60黑幣
本帖最后由 一夜暴富 于 2021-8-30 15:43 編輯

目前低功耗方案:電池3.7V單獨給單片機供電,單片機再控制引腳給①電池3.7V升壓12V電路②12V降5V電路使能,從來給12V負載和5V傳感器工作目前遇到的問題:希望通過旋鈕和按鈕喚醒,但旋鈕的喚醒非常玄學,大部分情況下都不行,偶爾又可以,按鈕則時而靈時而不靈
兩個控制電路如下:
1.png 2.png
旋鈕按鈕電路如下: 6.png
控制單片機進入低功耗代碼如下:
5.png
觸發外部中斷出低功耗代碼如下:
4.png
3.png
其中16,17是使能腳。XA XB是旋鈕引腳,P36是按鈕引腳
判斷有沒有結束低功耗是靠屏幕有沒有亮起
大部分情況下屏幕都無法亮起
或許還需要補充什么?
希望各位不嗇賜教

最佳答案

查看完整內容

1,不要在中斷函數中設定或者使用Delay()長時間延時,沒有辦法的情況下才會在中斷中使用,如果可以的話,中斷函數盡可能的短 2,在PCON=0x02;之后至少要加四個 _nop_ (); 不知道為什么,官方叫這么做,你就這么做,錯不了 3,進入掉電之前,你要用的喚醒中斷都要先設定 4,中斷喚醒之后,程序會執行PCON=0x02;之后的代碼,由于沒有看到完整的代碼,不知道你程序是怎么跑的,這STC喚醒壓根就不是什么高深技術或者商業機密,大可上傳代碼文件,你 ...
回復

使用道具 舉報

ID:401564 發表于 2021-8-30 15:20 | 顯示全部樓層
1,不要在中斷函數中設定或者使用Delay()長時間延時,沒有辦法的情況下才會在中斷中使用,如果可以的話,中斷函數盡可能的短
2,在PCON=0x02;之后至少要加四個        _nop_  (); 不知道為什么,官方叫這么做,你就這么做,錯不了
3,進入掉電之前,你要用的喚醒中斷都要先設定
4,中斷喚醒之后,程序會執行PCON=0x02;之后的代碼,由于沒有看到完整的代碼,不知道你程序是怎么跑的,這STC喚醒壓根就不是什么高深技術或者商業機密,大可上傳代碼文件,你截個圖,沒頭沒尾的
5,一定要P00=0;P01=0.....嗎?難道不成P0=0x00嗎?
6,聽說現在STC15可以仿真,你可以搞個仿真電路,也許論壇有人會玩,反正我只對開發板感興趣
回復

使用道具 舉報

ID:887186 發表于 2021-8-30 16:44 | 顯示全部樓層
補充一下:5V的使能引腳關閉后
5V的電壓每次都不同
當5V的降壓使能引腳關閉后,最后停在了2V,就可以正常喚醒
如果5V的降壓使能引腳關閉后只有0.3V了,就不能正常喚醒了
回復

使用道具 舉報

ID:887186 發表于 2021-8-30 18:54 | 顯示全部樓層
本帖最后由 一夜暴富 于 2021-8-30 19:00 編輯
Y_G_G 發表于 2021-8-30 16:44
1,不要在中斷函數中設定或者使用Delay()長時間延時,沒有辦法的情況下才會在中斷中使用,如果可以的話,中斷函 ...

謝謝大佬的指導,不知道大佬能否推薦一些低功耗的DC-DC 12v降壓5V的芯片
回復

使用道具 舉報

ID:401564 發表于 2021-8-30 22:10 | 顯示全部樓層
一夜暴富 發表于 2021-8-30 18:54
謝謝大佬的指導,不知道大佬能否推薦一些低功耗的DC-DC 12v降壓5V的芯片

為什么對5V的DC-DC如此執著呢?這5V你要輸出多大的電流?帶馬達嗎?
如果只是單片機和傳感器供電,直接一個HT7350不就行了嗎?
如果是要大電流,3.7直接升壓5V效率不是更高的嗎?3.7升12V的效率如果是90%,12降到5V又是90%的效率,那么整個電路的效率就是80%左右了.........
回復

使用道具 舉報

ID:569384 發表于 2021-8-31 08:56 | 顯示全部樓層
只要配置和電路沒問題那就是程序的問題,另外中斷里竟然調用delay(),不能!oled_wr_byte()也不要放外部中斷里面吧,不要問為什么,我也不懂!
回復

使用道具 舉報

ID:887186 發表于 2021-8-31 10:02 | 顯示全部樓層
Y_G_G 發表于 2021-8-30 22:10
為什么對5V的DC-DC如此執著呢?這5V你要輸出多大的電流?帶馬達嗎?
如果只是單片機和傳感器供電,直接一個H ...

恩,就是DC-DC比較好使能控制,所以一直想用DC-DC
但如果LDO本身的工作電流就很低的話,我也是傾向于用LDO更方便的。
還想請教一下,那我是選擇12V降5V的LDO合適,還是3.7V升5V的升壓電路 ,這兩個哪個功耗會更低一些?
回復

使用道具 舉報

ID:956872 發表于 2021-8-31 18:10 | 顯示全部樓層
Y_G_G 發表于 2021-8-30 16:44
1,不要在中斷函數中設定或者使用Delay()長時間延時,沒有辦法的情況下才會在中斷中使用,如果可以的話,中斷函 ...

外部中斷里按鍵需要消抖嗎及松手等待嗎
回復

使用道具 舉報

ID:401564 發表于 2021-8-31 20:50 | 顯示全部樓層
一夜暴富 發表于 2021-8-31 10:02
恩,就是DC-DC比較好使能控制,所以一直想用DC-DC
但如果LDO本身的工作電流就很低的話,我也是傾向于用L ...

我的回答已經說了你想要的知道的知識點了
回復

使用道具 舉報

ID:401564 發表于 2021-8-31 20:54 | 顯示全部樓層
PEB188 發表于 2021-8-31 18:10
外部中斷里按鍵需要消抖嗎及松手等待嗎

去抖動是肯定要的
如果程序沒有什么其它任務,肯定是直接在中斷中放一個延時省事了
如果有多重任務的話,肯定是不能在中斷中有長延時,比如有數碼管顯示的時候,只要是在中斷中有延時,哪怕只有1mS,人眼也能感覺到數碼管閃了一下
如果在中斷中有等待松開的話,就更不用說了,數碼直接就是長亮一位或者長暗
回復

使用道具 舉報

ID:887186 發表于 2021-9-1 10:38 | 顯示全部樓層
Y_G_G 發表于 2021-8-31 20:50
我的回答已經說了你想要的知道的知識點了

好的,謝謝~還有最后一個問題
為什么我給lm2596使能腳高電平,讓它停止工作
理應VOUT應該0V左右,但每次關閉后的電壓都不同,從0.050V~2V左右都有
這是為什么呢,電路就是上面的電路
回復

使用道具 舉報

ID:401564 發表于 2021-9-1 11:30 | 顯示全部樓層
一夜暴富 發表于 2021-9-1 10:38
好的,謝謝~還有最后一個問題
為什么我給lm2596使能腳高電平,讓它停止工作
理應VOUT應該0V左右,但每 ...

這個不好說,要結合實際情況的
你看一下數據手冊有沒有說明的
如果數據手冊沒有說明,理論上輸出就應該是0V,你就要看一下你硬件電路了
回復

使用道具 舉報

ID:887186 發表于 2021-9-3 19:34 | 顯示全部樓層
Y_G_G 發表于 2021-9-1 11:30
這個不好說,要結合實際情況的
你看一下數據手冊有沒有說明的
如果數據手冊沒有說明,理論上輸出就應該是 ...

不知道大佬能否再幫我解答一下
我是在喚醒中斷里寫了喚醒后單片機該做什么
而不是寫在
PCON = 0x02;
                _nop_;
                _nop_;
                _nop_;
                _nop_;
的后面。
請問這樣是可以的嗎
回復

使用道具 舉報

ID:401564 發表于 2021-9-3 23:04 | 顯示全部樓層
一夜暴富 發表于 2021-9-3 19:34
不知道大佬能否再幫我解答一下
我是在喚醒中斷里寫了喚醒后單片機該做什么
而不是寫在

看不到完整程序和電路,不知道你要做什么
這個是我一個藍牙耳機的,長按或者雙擊喚醒的,按鍵和其它函數,你可以先不管,你大概看一下喚醒的流程就可以了
void main(void)
{
        Mcu_Rst();          //單片機復位
        Mcu_Awaken(); //單片機喚醒操作
        Stc8g_Adc_int();//stc8gadc初始化
        Tap6130_Start();  //耳放啟動
//———————————————————————————————————————————————————————————————————          
        while(1)
        {                         
         if((USB==1)||(ON==1)) Battry_Voltage_Disp(ADC_VCC);        //電池電壓處理
         if((USB==0)&&(ON==1))        Key_Disp();                                         //按鍵處理                 
         if((TWO_PRE==1)||(LONG_PRE==1))
                {                                       
                        ON=!ON;                                                                                //長按/雙擊有效
                        TWO_PRE=0;
                        LONG_PRE=0;
                        Mcu_Up=0;                                                                                //清除按鍵喚醒標志位
                        if(ON==1)                                                                          
                          {                                                       
                                        Delay_ms(300);                                                                //延時一定時間開機,沒有為什么,就是達到某個效果而已,可有可無
                                        Tap6130_Start();                                                         //如果是按鍵開機,就啟動耳放和藍牙
                                        Stc8g_Adc_int();                                                        //stc8gadc初始化                        
                                }                               
                }
                else if(ONE_PRE==1)
                                {
                                   ONE_PRE=0;                                                                  //單擊有效
                                   Mcu_Up=0;
                                   if(ON==1)Play();                                                                         //播放/暫停/接聽/掛斷                                  
                                }                          
                        else if((USB==0)&&(ON==0)&&(Mcu_Up==0))                //UBS在插著,就不關機
                                        {                               
                                                Delay_ms(300);                                                                //延時0.3秒關機
                                                Mcu_Sleep();                                                                //單片機進入掉電模式
                                                PCON=0x02;                                                                        //進入掉電模式
                                                _nop_();                               
                                                _nop_();
                                                _nop_();
                                                _nop_();
                                                _nop_();
                                                Mcu_Awaken();                                                                  //單片機喚醒
                                                if(USB==1)Stc8g_Adc_int();                                        //如果USB高電平,就表示是USB播放,stc8gadc初始化               
                                        }                                                               
        }                          
//———————————————————————————————————————————————————————————————————                                       
}

回復

使用道具 舉報

ID:887186 發表于 2021-9-5 14:59 | 顯示全部樓層
Y_G_G 發表于 2021-9-3 23:04
看不到完整程序和電路,不知道你要做什么
這個是我一個藍牙耳機的,長按或者雙擊喚醒的,按鍵和其它函數,你 ...

好的,謝謝!
回復

使用道具 舉報

ID:975054 發表于 2022-12-8 00:54 | 顯示全部樓層
今天剛好碰到這個現象,單按鍵P32腳INT0開始一直可以喚醒,后來改了些代碼就不行了,正想研究一下,原來代碼就有長按1秒(開/關大燈) / 2秒(掉電全關待機)的軟延時代碼...... 后來還加了個循環好像就喚不醒了,明天繼續,呵呵!好玩! 謝謝!

評分

參與人數 1黑幣 +20 收起 理由
admin + 20

查看全部評分

回復

使用道具 舉報

ID:1114775 發表于 2024-3-30 14:43 | 顯示全部樓層
Y_G_G 發表于 2021-8-30 15:20
1,不要在中斷函數中設定或者使用Delay()長時間延時,沒有辦法的情況下才會在中斷中使用,如果可以的話,中斷函 ...

大哥請問下仿真的時候掉電后無法通過外部中斷1喚醒是什么情況呀
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人天堂噜噜噜 | 在线观看av网站 | 成年人在线观看 | 国产欧美视频一区 | 亚洲精品久久久久久首妖 | 欧洲一级毛片 | 久久五月婷 | 欧美综合国产精品久久丁香 | 一区二区三区久久久 | 国产精品久久久久久久久图文区 | 亚洲+变态+欧美+另类+精品 | 亚洲视频精品在线 | 三级黄色片在线播放 | 久久狼人天堂 | 欧美成人一区二区 | 日韩中字幕 | 一区二区三区四区在线视频 | 国产福利视频导航 | 久久精品视频免费看 | 亚洲欧美日韩精品久久亚洲区 | 久草视频2 | 精品视频一区二区三区四区 | 伊人伊人 | 国产日韩欧美另类 | 午夜精品一区二区三区在线观看 | 亚洲一区在线播放 | 99久久精品免费看国产四区 | 久久精品99 | 国产精品美女久久久久aⅴ国产馆 | 四色永久 | 激情五月综合 | 一区二区三区四区在线播放 | 国产精品视频网 | 亚洲一区二区三区高清 | 午夜激情小视频 | 国产成人精品高清久久 | 精品国产一区二区国模嫣然 | 国产91在线播放 | www.亚洲成人网| 日韩区| 久久久久久久夜 |