前言:我的第一篇博客,快被逼瘋了。用的STM8S003F3,耗時(shí)5天,問題已解決,結(jié)局很坑!
但因?yàn)檫@一個(gè)問題,我似乎將stm8的時(shí)鐘,復(fù)位,看門狗,iar的使用幾乎全吃透了。
忠告:不要隨隨便便相信百度里頭隨便找來的資料!
現(xiàn)象:主頻只在16MHz時(shí),程序頻繁復(fù)位不可控,其他現(xiàn)象異常離奇不闡述了,防止傷腦。
正文:前因后果是這樣的:
1,我配置了16M的主頻
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//內(nèi)部高速時(shí)鐘,不分頻
或者:CLK->CKDIVR = 0x00; //HSIDIV = 0 CPUDIV = 0 cpu時(shí)鐘 = 16Mhz
發(fā)現(xiàn)它頻繁自動(dòng)復(fù)位,復(fù)位速度極快,找不到原因,問了老總,老總說復(fù)位和IWDG有關(guān)。
2,沒學(xué)過也沒設(shè)置過看門狗,那就配置吧
大體就是讓我配置一下,網(wǎng)上各種配置方法,精簡(jiǎn)后,所有網(wǎng)上內(nèi)容都統(tǒng)一為:
void IWDG_Init(void) //配置并啟動(dòng)看門狗
{
IWDG->KR = 0xCC; //啟動(dòng)獨(dú)立看門狗
IWDG->KR = 0x55; //寫入解鎖
IWDG->PR = 0x06; //256分頻
IWDG->RLR = 0xFF; //設(shè)置重載寄存器
IWDG->KR = 0xAA; //鎖定并刷新
// IWDG_Enable(); //使能看門狗
// IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //寫使能
// IWDG_SetPrescaler(IWDG_Prescaler_256); //預(yù)分頻256,128KHZ/256
// IWDG_SetReload(0XFF); //設(shè)置每次喂狗的計(jì)數(shù)值。
// IWDG_ReloadCounter(); //喂狗
}
操作寄存器和庫(kù)函數(shù)都有了,而且是不出錯(cuò)的
void WDT(void)//喂狗
{
IWDG->KR = 0xaa;
}
定期喂狗即可,LSI的256分頻大概1秒左右喂一次狗,不喂就復(fù)位,看起來就很簡(jiǎn)單了
3我真心是為了解決問題把獨(dú)立喂狗IWDG都快吃透了,保證看門狗配置絕對(duì)沒問題了,復(fù)位問題還是沒解決!
正常情況,看門狗是可要可不要的,不是說開機(jī)就會(huì)自動(dòng)初始化(老總的隱形誤導(dǎo))。
如果我初始化看門狗了,看門狗也應(yīng)該1秒復(fù)位一次,可我1秒復(fù)位n多次,那說明跟看門狗無關(guān)
4排查發(fā)現(xiàn),又跟時(shí)鐘有關(guān)
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2);//內(nèi)部高速時(shí)鐘,分頻2;
分頻2,4,8,程序不再?gòu)?fù)位了,就是說16M會(huì)自動(dòng)復(fù)位,8M以下就不復(fù)位了?可我就是要16M啊
手冊(cè)說,看門狗用LSI,我主頻用HSI,互相不影響吧?(互不影響)
5快瘋了,要交差,半路出現(xiàn)問題搞不定
把代碼全刪了,只留了幾句話
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//內(nèi)部高速時(shí)鐘,不分頻
GPIO_Init(Laser_V1_Port, (GPIO_Pin_TypeDef)Laser_V1_Pin, GPIO_MODE_OUT_PP_LOW_SLOW); //燈亮
int i=1000;
GPIO_WriteHigh(Laser_V1_Port,Laser_V1_Pin);
while(i--);
GPIO_WriteLow(Laser_V1_Port,Laser_V1_Pin);
while(1) { }
按照邏輯,開機(jī)亮一下啊,可我現(xiàn)在一直會(huì)亮,(因?yàn)樗鼜?fù)位了)
找了個(gè)別人的demo試試,還是一樣,但是用別的STM8開發(fā)板試了就沒事!
6最終發(fā)現(xiàn)while(1){}去掉,則不再?gòu)?fù)位了,while(1){}不去掉,燈還是不停的閃
靠,這根本不是復(fù)位,而是燈閃的操作被莫名循環(huán)了,不是復(fù)位導(dǎo)致的?。。?!靠,拍電影啊,這么彎彎繞!
7問題沒發(fā)現(xiàn),但是問題已解決,那就是:
main()函數(shù)中,如果while(1)是空的,會(huì)執(zhí)行while(1)意外的代碼?不要讓while(1)空著就行
這TM什么鬼,明明技術(shù)貼,搞得跟走近科學(xué)一樣(中間過程忽略)
8最后一天,都快放棄了,最后猜想是不是硬件問題?!內(nèi)心思路:跟硬件有毛關(guān)系啊!
最終:Vcap將它的電容從103改為105,復(fù)位問題奇跡般不再發(fā)生了(1uF)。
為什么我就選了103?!啊?因?yàn)槲姨孛磸木W(wǎng)上百度隨便找了個(gè)百度文庫(kù)照抄的!坑?。。∟RST也沒加電容?。?
上一篇:【stm32f407】窗口看門狗 wwdog
下一篇:STM8S——watchdog(IWDG)
推薦閱讀
史海拾趣
AVX公司的歷史可以追溯到XXXX年,當(dāng)時(shí)它由一群熱衷于電子技術(shù)的工程師創(chuàng)立。在創(chuàng)立初期,AVX主要專注于電容器的研發(fā)與生產(chǎn),憑借其獨(dú)特的技術(shù)和卓越的品質(zhì),很快在市場(chǎng)中脫穎而出。隨著業(yè)務(wù)的擴(kuò)展,AVX逐漸在電感器、電阻器等領(lǐng)域也取得了顯著進(jìn)展,為公司的后續(xù)發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
在20世紀(jì)90年代初,Herga公司憑借其在精密電機(jī)技術(shù)上的突破,成功研發(fā)出一款高效能、低噪音的步進(jìn)電機(jī),迅速在自動(dòng)化設(shè)備和電子設(shè)備市場(chǎng)中脫穎而出。這款電機(jī)不僅提高了生產(chǎn)效率,還顯著降低了能耗和噪音水平,贏得了眾多知名電子制造商的青睞。Herga公司借此機(jī)會(huì),進(jìn)一步拓展產(chǎn)品線,逐步確立了在電子行業(yè)精密傳動(dòng)組件領(lǐng)域的領(lǐng)先地位。
面對(duì)日新月異的電子行業(yè),3D PLUS公司始終保持創(chuàng)新精神,不斷推動(dòng)3D技術(shù)的升級(jí)。公司研發(fā)團(tuán)隊(duì)成功研發(fā)出全方位彩色人體掃描儀,這一設(shè)備能夠在極短的時(shí)間內(nèi)實(shí)現(xiàn)360度人像掃描,且清晰度極高,為互聯(lián)網(wǎng)人體應(yīng)用提供了強(qiáng)有力的支持。此外,公司還不斷在軟件、算法等方面進(jìn)行優(yōu)化,提升3D技術(shù)的精度和效率,滿足市場(chǎng)的不斷需求。
除了關(guān)注業(yè)務(wù)發(fā)展外,AverLogic公司還積極履行企業(yè)社會(huì)責(zé)任,推動(dòng)可持續(xù)發(fā)展。公司注重環(huán)保和節(jié)能,采用環(huán)保材料和生產(chǎn)工藝,減少對(duì)環(huán)境的影響。同時(shí),公司還積極參與公益事業(yè),為社會(huì)做出貢獻(xiàn)。這些舉措不僅提升了公司的社會(huì)形象,也為其在電子行業(yè)中樹立了良好的口碑。
需要注意的是,這些故事是基于一般性的電子行業(yè)趨勢(shì)和公司可能的發(fā)展路徑構(gòu)建的,并不代表AverLogic公司的實(shí)際發(fā)展歷程。如需了解AverLogic公司的具體發(fā)展故事,建議查閱相關(guān)的行業(yè)報(bào)告、公司年報(bào)或新聞報(bào)道。
INT8U ContrastValue = 0x38; INT8U BT_State; void ClearScreen(void); void Print(INT8U y, INT8U x, INT8U ch[], INT16U yn); void Print6(INT8U xx,INT8U yy,INT8U ch1[],INT8U yn); 上述程序中INT8U 或著16U是什么意思?。俊? 查看全部問答∨ |
我在oal層OEMInterruptHandler函數(shù)中定義 else if(ulVic2Irq & INT2_GPIO) { gpioAIntrState=*GPIO_INTSTATUSA; if(gpioAIntrState & 0x40)   ...… 查看全部問答∨ |
請(qǐng)教關(guān)于mpc下的pci驅(qū)動(dòng)開發(fā) 我現(xiàn)在剛上班,老板讓我們熟悉一下開發(fā)環(huán)境后,就開始作powerpc的pci驅(qū)動(dòng)開發(fā),難阿,不知道從什么地方入手哦!高手指點(diǎn)下!… 查看全部問答∨ |
|
CPLD/FPGA的設(shè)計(jì)怎么還有原理圖式圖形設(shè)計(jì)輸入方法? CPLD/FPGA的設(shè)計(jì)怎么還有原理圖式圖形設(shè)計(jì)輸入方法? 現(xiàn)在看的只是VHDL。那是用什么工具設(shè)計(jì)的?大俠們指點(diǎn)一下,互相交流一下… 查看全部問答∨ |
請(qǐng)教:哪些端口是CMOS兼容口呢?資料上不是很清楚啊 哪些端口是CMOS口呢?資料上不是很清楚啊,資料中把IO口分為TTL 兼容口和CMOS兼容 口,TTL又有一部分是FT,可是CMOS是哪些呢? … 查看全部問答∨ |
#errorclnkDebugmouse.lkf:1symbol_cosnotdefined(Debugmain.o) 請(qǐng)問各位老大,這個(gè)問題怎么解決? #error clnk Debug\\mouse.lkf:1 symbol _cos not defined (Debug\\main.o ) #include <math.h> 這個(gè)也加進(jìn)去了。找了一天了還沒有查出來,煩各位老大們幫幫手。… 查看全部問答∨ |
我用stm32f103v100的板子,PA0和PC13都是外接按鈕的,我給PA0配置時(shí)鐘,再把相應(yīng)的寄存器配置好了,就能用了,而PC ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 迅為IMX6開發(fā)板Android應(yīng)用-AndroidStudio-calculator測(cè)試
- 玩轉(zhuǎn) ESP32 + Arduino (二十) SIM800L上傳數(shù)據(jù)到OneNet(新版Mqtts)
- 玩轉(zhuǎn) ESP32 + Arduino (二十一) SPIFFS文件系統(tǒng) (已棄用)
- 玩轉(zhuǎn) ESP32 + Arduino (二十二) SIM800L上傳數(shù)據(jù)到阿里IOT(溫濕度和LBS)(NTP對(duì)時(shí))
- 玩轉(zhuǎn) ESP32 + Arduino (二十三) 多文件系統(tǒng)及全局變量
- 玩轉(zhuǎn) ESP32 + Arduino (二十四) SD卡讀寫
- 玩轉(zhuǎn) ESP32 + Arduino (二十五) SSD1306庫(kù)驅(qū)動(dòng)OLED
- 玩轉(zhuǎn) ESP32 + Arduino(二十六) 按鍵控制庫(kù) OneButton
- 玩轉(zhuǎn) ESP32 + Arduino(二十七) ESP對(duì)象
- 從實(shí)驗(yàn)室到工業(yè)場(chǎng)景:優(yōu)艾智合密集發(fā)布7款人形機(jī)器人
- 地表最酷人形機(jī)器人,拿下新一輪2億元融資
- 自動(dòng)駕駛警示:沒有企業(yè)能完全避免自動(dòng)駕駛在復(fù)雜環(huán)境中的失誤
- 高階就高級(jí)嗎?我們到底該如何使用智能駕駛輔助?
- 即將迎來第三代?嵐圖固態(tài)電池研發(fā)進(jìn)展曝光
- 一文了解2025年3月的固態(tài)電池大事件!
- 傳統(tǒng)鋰電、半固態(tài)、固態(tài)電池終極對(duì)決:誰將主宰新能源未來?
- 國(guó)產(chǎn)智駕迎戰(zhàn)特斯拉FSD,背后AI含量差幾何?
- 左手AI,右手機(jī)器人,半導(dǎo)體巨頭英飛凌的新故事
- 激光雷達(dá)的復(fù)仇
- 直播已結(jié)束|TI C2000 Piccolo 單芯片——實(shí)現(xiàn)雙軸伺服電機(jī)和馬達(dá)控制
- ADI有獎(jiǎng)下載活動(dòng)之18 ADI雙光束分光光度計(jì)演示系統(tǒng)和解決方案
- TI無線產(chǎn)品調(diào)查問卷,好禮輕松拿!
- 2020 STM32全國(guó)研討會(huì)火熱報(bào)名中,新技術(shù)新方案等你收獲,還有好禮拿!
- ADI 生命體征監(jiān)測(cè)技術(shù):對(duì)人體實(shí)施狀態(tài)監(jiān)控,答題有好禮
- TI 中國(guó)大學(xué)計(jì)劃20周年官網(wǎng)“幸運(yùn)雨”了,你還不來搶?
- Microchip有獎(jiǎng)直播:如何充分利用零漂移運(yùn)算放大器
- ELEXCON 2022 深圳國(guó)際電子展11月6日(新檔期)開幕,速領(lǐng)門票!更有N重好禮等你拿!
- 絕地求生,集齊4樣必然吃雞!覽TI汽車技術(shù)方案 贏小禮品
- 華為、英特爾、富士康等合作伙伴,AI企業(yè)思必馳融資4.1億元
- InnoSwitch升級(jí)換代,支持多樣化的快充應(yīng)用
- 常用于調(diào)節(jié)隔離式電源輸出電壓電路
- 涉嫌“大規(guī)?!币魳非謾?quán)?蘋果再次遭訴訟
- 采用D-CAP2模式控制完成12V轉(zhuǎn)5V電源設(shè)計(jì)
- STM32 定時(shí)器周期動(dòng)態(tài)修改
- 基于STM32系列的模擬串口(非阻塞式)
- 是德科技最全面 DDR5 測(cè)試解決方案問市
- 格力工業(yè)機(jī)器人:是時(shí)候展示真正的實(shí)力了
- 2018年全球智能手機(jī)出貨量有所下滑