历史上的今天
返回首页

历史上的今天

今天是:2024年11月07日(星期四)

正在发生

2019年11月07日 | STM8关于IWDG看门狗和HSI高速时钟和复位的坑

2019-11-07 来源:eefocus

前言:我的第一篇博客,快被逼疯了。用的STM8S003F3,耗时5天,问题已解决,结局很坑!


但因为这一个问题,我似乎将stm8的时钟,复位,看门狗,iar的使用几乎全吃透了。


忠告:不要随随便便相信百度里头随便找来的资料!


现象:主频只在16MHz时,程序频繁复位不可控,其他现象异常离奇不阐述了,防止伤脑。


正文:前因后果是这样的:


1,我配置了16M的主频


CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//内部高速时钟,不分频


或者:CLK->CKDIVR = 0x00;  //HSIDIV = 0 CPUDIV = 0   cpu时钟 = 16Mhz


发现它频繁自动复位,复位速度极快,找不到原因,问了老总,老总说复位和IWDG有关。


2,没学过也没设置过看门狗,那就配置吧

大体就是让我配置一下,网上各种配置方法,精简后,所有网上内容都统一为:


void IWDG_Init(void) //配置并启动看门狗

    IWDG->KR = 0xCC;    //启动独立看门狗  

    IWDG->KR = 0x55;    //写入解锁  

    IWDG->PR = 0x06;    //256分频

    IWDG->RLR = 0xFF;    //设置重载寄存器

    IWDG->KR = 0xAA;    //锁定并刷新

//    IWDG_Enable();      //使能看门狗 

//    IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);    //写使能

//    IWDG_SetPrescaler(IWDG_Prescaler_256);        //预分频256,128KHZ/256 

//    IWDG_SetReload(0XFF);        //设置每次喂狗的计数值。

//    IWDG_ReloadCounter();        //喂狗


}


操作寄存器和库函数都有了,而且是不出错的


void WDT(void)//喂狗

{  

   IWDG->KR = 0xaa;


}


定期喂狗即可,LSI的256分频大概1秒左右喂一次狗,不喂就复位,看起来就很简单了


3我真心是为了解决问题把独立喂狗IWDG都快吃透了,保证看门狗配置绝对没问题了,复位问题还是没解决!


正常情况,看门狗是可要可不要的,不是说开机就会自动初始化(老总的隐形误导)。


如果我初始化看门狗了,看门狗也应该1秒复位一次,可我1秒复位n多次,那说明跟看门狗无关


4排查发现,又跟时钟有关


CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2);//内部高速时钟,分频2;


分频2,4,8,程序不再复位了,就是说16M会自动复位,8M以下就不复位了?可我就是要16M啊


手册说,看门狗用LSI,我主频用HSI,互相不影响吧?(互不影响)


5快疯了,要交差,半路出现问题搞不定


把代码全删了,只留了几句话


 CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//内部高速时钟,不分频


 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) { }


按照逻辑,开机亮一下啊,可我现在一直会亮,(因为它复位了)


找了个别人的demo试试,还是一样,但是用别的STM8开发板试了就没事!


6最终发现while(1){}去掉,则不再复位了,while(1){}不去掉,灯还是不停的闪


靠,这根本不是复位,而是灯闪的操作被莫名循环了,不是复位导致的!!!!靠,拍电影啊,这么弯弯绕!


7问题没发现,但是问题已解决,那就是:


main()函数中,如果while(1)是空的,会执行while(1)意外的代码?不要让while(1)空着就行


这TM什么鬼,明明技术贴,搞得跟走近科学一样(中间过程忽略)


8最后一天,都快放弃了,最后猜想是不是硬件问题?!内心思路:跟硬件有毛关系啊!

最终:Vcap将它的电容从103改为105,复位问题奇迹般不再发生了(1uF)。


为什么我就选了103?!啊?因为我特么从网上百度随便找了个百度文库照抄的!坑啊!(NRST也没加电容!)

推荐阅读

史海拾趣

艾谱科(Epticore)公司的发展小趣事

在成功推出高效能芯片后,艾谱科公司开始积极拓展市场。公司凭借其产品的技术优势,与多家知名电子产品制造商建立了合作关系。同时,艾谱科还积极参加国际电子展会,向全球客户展示其产品的卓越性能。随着市场知名度的提高,艾谱科的订单量逐渐增加,公司规模也不断扩大。

ARCOLECTRICSWITCHES公司的发展小趣事

在技术进步的基础上,ARCOLECTRIC SWITCHES公司积极拓展国内外市场。公司通过与各大电子厂商建立合作关系,将产品广泛应用于家电、通讯、汽车等多个领域。同时,公司注重品牌建设,通过广告宣传和市场推广活动提升品牌知名度和美誉度。这些努力使得ARCOLECTRIC SWITCHES公司的市场份额逐年增长,品牌影响力不断扩大。

Analog Modules Inc公司的发展小趣事

面对全球化的趋势,ARCOLECTRIC SWITCHES公司制定了国际化发展战略。公司积极开拓海外市场,设立海外分支机构,拓展国际业务。在国际化进程中,公司注重跨文化管理,尊重不同国家和地区的文化差异,努力融入当地市场。通过国际化战略的实施,ARCOLECTRIC SWITCHES公司的业务范围不断扩大,国际影响力逐渐提升。

这些故事虽然基于虚构,但反映了一个电子企业在发展过程中可能经历的关键阶段和挑战。实际中,ARCOLECTRIC SWITCHES公司的发展历程可能因市场条件、技术变革、竞争环境等多种因素而有所不同。如果您需要了解该公司具体的发展故事,建议查阅相关官方资料或行业报告。

Hitachi Metals公司的发展小趣事

自1956年成立以来,Hitachi Metals便逐步在电子材料领域建立了坚实的基础。公司早期便专注于研发和生产用于电子设备的核心部件,如磁性材料。随着电子行业的蓬勃发展,日立金属迅速抓住了市场机遇,推出了高性能的Nd-Fe-B系列烧结磁石和高性能铁氧体烧结磁石,这些材料广泛应用于计算机、半导体集成电路器件及平板显示屏等高科技产品中。凭借其卓越的产品质量和稳定的市场供应,Hitachi Metals在电子材料市场上赢得了广泛的认可。

ADDtek公司的发展小趣事

在全球经济一体化的大背景下,Hitachi Metals积极应对各种挑战,通过战略并购不断壮大自身实力。近年来,公司先后并购了多家在电子材料、自动化零件等领域具有领先地位的企业,如Waupaca公司、SH cooper铜业等。这些并购不仅拓宽了日立金属的产品线,还增强了其在全球市场的竞争力。通过整合并购企业的资源和优势,Hitachi Metals在电子行业的地位进一步巩固和提升。

长工微电子公司的发展小趣事

面对日益激烈的市场竞争,长工微电子始终保持对研发的重视。公司不断加大产品研发力度,积极拓展国内外市场,目标成为国际一流的半导体公司。同时,长工微电子也积极关注行业动态和技术趋势,不断调整和优化产品策略,以适应市场的变化。在未来,长工微电子将继续秉承创新、务实、进取的精神,为电子行业的发展做出更大的贡献。

问答坊 | AI 解惑

【瑞萨 CPK-RA2L1 开发板】测评 - 1:安装 BSP

本帖最后由 MianQi 于 2022-11-12 20:34 编辑 从用户的角度来说,E2 Studio 中最重要的组成部分是两个: 1、 Flexible Software Package (FSP) ,下载地址:https://github.com/renesas/fsp;这个类似于Android 的 SDK - 软件开发包,它有版 ...…

查看全部问答>

[RTT&瑞萨超低功耗MCU RA2L1开发板]测评之基于MDK+RT-Thread的开发环境搭建

本帖最后由 qinyunti 于 2022-11-12 10:27 编辑 准备 前提已经安装MDK和JLINK我这里 MDK版本 V5.37 JLINK版本 V7.82(V7.5以上)   开发板资料参考 https://www2.renesas.cn/cn/zh/products/microcontrollers-microprocess ...…

查看全部问答>

[RTT&瑞萨超低功耗MCU RA2L1开发板]测评之SPI模块介绍驱动分析与测试

SPI模块介绍 参考<<Renesas RA2L1 Group User’s Manual: Hardware>>的章节<<28. Serial Peripheral Interface (SPI) >>   特征 2通道 支持全双工和仅发送模式,支持3线制和4线制 RSPCK极性反转,相位 ...…

查看全部问答>

晒晒双十一兑换的太阳能蓝牙键盘

双十一用E金币兑换了一个太阳能蓝牙键盘,型号是GSKBBT066-SUN,平时价格在200多快300,现在京东上不凑单149,加上10元优惠卷139就可以拿下。这个键盘是目前可以找到为数不多的几种太阳能蓝牙键盘之一,比较适合办公室用。     ...…

查看全部问答>

e络盟限时福利|《e选》-------晒单

以前有一个树莓派: 但是。。。没有HDMI的小头的线。。。 这一次,又弄了线,又弄了盒子,甚至于还有天线,也许可以好好的玩玩树莓派了。。。 感谢电子工程世界(eeworld),感谢e络盟(element14)   …

查看全部问答>

DIY 7段数码管

老外网站上的一个DIY 7段数码管介绍       https://www.thingiverse.com/thing:5448911 …

查看全部问答>

请高手指导电动汽车永磁同步电机igbt驱动,能不能提高原理图

请高手指导电动汽车永磁同步电机igbt驱动,能不能提高原理图,驱动用什么芯片? …

查看全部问答>

请高手指点电动汽车永磁同步电机驱动电路的控制方法,用什么驱动电路和芯片

请高手指点电动汽车永磁同步电机驱动电路的控制方法,用什么驱动电路和芯片,有典型电路吗? …

查看全部问答>

【MPS商城钜惠体验季】开箱

开发一款小电机的有感驱动系统,在MPS看到MA735,封装2x2非常适合应用系统; 买了十片样品,回来测试一下效果。 只有十个样片,快递包装还是很严实:真空静电包和干燥剂都有。 还附赠了功率电感的选型手册哦 …

查看全部问答>

[RTT&瑞萨超低功耗MCU RA2L1开发板]测评之WDT模块介绍与测试

WDT模块介绍 参考<<Renesas RA2L1 Group User’s Manual: Hardware>>的章节<<23. Watchdog Timer (WDT)>> 特征 14位递减计数器,溢出时可以产生复位,NMI中断,溢出中断。 时钟源PCLKB,4, 64, 128, 512, 2048, &nb ...…

查看全部问答>