历史上的今天
返回首页

历史上的今天

今天是:2024年09月29日(星期日)

正在发生

2021年09月29日 | STM8S(105K4)使用笔记——独立看门狗IWDG的基础配置

2021-09-29 来源:eefocus

0、独立看门狗的使用

独立看门狗基于低速内部RC振荡器(LSI)运行。


若LSI运行正常,当主程序发生错误时,无法重置看门狗计数器,独立看门狗将会产生复位标志位并重启。


由于独立看门狗基于LSI运行,与主程序、大部分外设相独立,这能最大限度保证独立看门狗的功能正常运行。


1、使能独立看门狗

  /* 使能独立看门狗 (低速内部RC振荡器(LSI)将会被硬件使能) */

  IWDG->KR = (uint8_t)0xCC;


注意!一旦独立看门狗被使能将无法禁用!

如果你需要使用stm8s的低功耗模式,同时需要使用看门狗复位功能,请选择窗口看门狗!


2、配置分频因子与重装载值

解除PR、RLR寄存器写保护

  /* PR、RLR寄存器有写保护,通过向KR寄存器写入0x55解除写保护。 */

  IWDG->KR = (uint8_t)0x55;

  /* 通过写入0xAA恢复写保护。 */

  IWDG->KR = (uint8_t)0xAA;


设置IWDG分频

  /* 4分频 */

  IWDG->PR = (uint8_t)0x00;

  /* 8分频 */

  IWDG->PR = (uint8_t)0x01;

  /* 16分频 */

  IWDG->PR = (uint8_t)0x02;

  /* 32分频 */

  IWDG->PR = (uint8_t)0x03;

  /* 64分频 */

  IWDG->PR = (uint8_t)0x04;

  /* 128分频 */

  IWDG->PR = (uint8_t)0x05;

  /* 256分频 */

  IWDG->PR = (uint8_t)0x06;


设置IWDG自动重装载值

  /* IWDG_Period为需要设置的自动重装载值 */

  IWDG->RLR = (uint8_t)(IWDG_Period);


IWDG计时触发公式

IWDG_Period= (time * IWDG_Counter_Clock - 1);

IWDG_Period为设置的自动重装载值

time 为IWDG触发所需时间(s)

IWDG_Counter_Clock 为IWDG频率,等于LSI/IWDG分频值(hz)


3、初始化案例

  __IO uint32_t LsiFreq = 128000;

  /* Enable IWDG (the LSI oscillator will be enabled by hardware) */

  IWDG->KR = (uint8_t)0xCC;


  /* IWDG timeout equal to 250 ms (the timeout may varies due to LSI frequency

     dispersion) */

  /* Enable write access to IWDG_PR and IWDG_RLR registers */

  IWDG->KR = (uint8_t)0x55;


  /* IWDG counter clock: LSI(128KHZ)/128 = 1000 */

  IWDG->PR = (uint8_t)0x05;


  /* Set counter reload value to obtain 250ms IWDG Timeout.

    Counter Reload Value = 250ms/IWDG counter clock period

                         = 250ms / (LSI/128)

                         = 0.25s / (LsiFreq/128)

                         = LsiFreq/(128 * 4)

                         = LsiFreq/512

   */

  IWDG->RLR = ((uint8_t)(LsiFreq / 512));


  /* Reload IWDG counter */

  IWDG->KR = (uint8_t)0xAA;


主函数


  void main(void)

  {

    /**

    *  省略

    *

    */

    while (1)

    {

      /**

      *  省略

      *

      */

      

  /* Reload IWDG counter */

      IWDG_ReloadCounter();

    }

  }

推荐阅读

史海拾趣

兆易创新(GigaDevice)公司的发展小趣事

对于热电偶隔离缓冲放大电路,网友可能会有多种问题,以下是一些常见问题及其回答:

一、技术问题

  1. 什么是热电偶隔离缓冲放大电路?
    • 回答:热电偶隔离缓冲放大电路是一种专门用于热电偶信号处理的电路,它能够将热电偶产生的微弱电压信号进行放大,并通过隔离技术消除干扰信号,确保信号的准确性和稳定性。这种电路通常包括放大器和隔离器两部分,放大器用于增强信号,而隔离器则用于隔离输入和输出之间的电气连接,防止噪声和干扰的传递。
  2. 为什么需要热电偶信号的隔离和缓冲?
    • 回答:热电偶信号通常非常微弱,且易受到环境噪声和电磁干扰的影响。隔离可以切断输入和输出之间的直接电气连接,防止噪声和干扰信号进入测量系统,提高测量的准确性和可靠性。缓冲则可以减小负载对热电偶信号的影响,保护热电偶免受损坏,并稳定信号输出。
  3. 如何选择适合的热电偶隔离缓冲放大电路?
    • 回答:选择适合的热电偶隔离缓冲放大电路时,需要考虑多个因素,包括热电偶的类型、测量范围、精度要求、工作环境等。此外,还需要关注电路的输入阻抗、输出阻抗、增益稳定性、噪声水平等性能指标,以确保电路能够满足实际应用的需求。

二、实际应用问题

  1. 热电偶隔离缓冲放大电路在工业现场的应用有哪些?
    • 回答:热电偶隔离缓冲放大电路在工业现场有广泛的应用,如温度测量、温度控制、热处理过程监控等。它们可以用于测量各种高温、低温环境下的温度,并通过与控制器、记录仪等设备配合使用,实现对温度的精确控制和记录。
  2. 如何安装和调试热电偶隔离缓冲放大电路?
    • 回答:安装和调试热电偶隔离缓冲放大电路时,需要按照产品说明书的要求进行操作。一般来说,需要先将热电偶与电路的输入端正确连接,然后调整电路的增益、零点等参数,使输出信号符合实际应用的需求。在调试过程中,需要注意观察电路的输出信号是否稳定、准确,并检查是否有噪声和干扰信号的存在。
  3. 热电偶隔离缓冲放大电路的维护和保养有哪些注意事项?
    • 回答:热电偶隔离缓冲放大电路的维护和保养非常重要,可以延长电路的使用寿命并保证其性能稳定。在使用过程中,需要定期检查电路的接线是否牢固、元器件是否损坏、输出信号是否准确等。如果发现异常情况,应及时处理并更换损坏的元器件。此外,还需要注意保持电路的清洁和干燥,避免灰尘和水分进入电路内部导致故障。

三、其他问题

  1. 热电偶隔离缓冲放大电路的成本如何?
    • 回答:热电偶隔离缓冲放大电路的成本因产品型号、性能指标和生产厂家等因素而异。一般来说,高精度、高稳定性的电路成本会相对较高。在选择电路时,需要根据实际需求和预算进行综合考虑。
  2. 热电偶隔离缓冲放大电路的发展趋势是什么?
    • 回答:随着工业自动化和智能化的发展,热电偶隔离缓冲放大电路也在不断向高精度、高稳定性、高集成度方向发展。未来,这种电路可能会采用更先进的集成电路技术和信号处理技术,提高测量精度和抗干扰能力,并降低成本和功耗。同时,随着物联网技术的发展,热电偶隔离缓冲放大电路也可能会与无线通信技术相结合,实现远程监控和智能控制等功能。
酷宅(Coolkit)公司的发展小趣事

酷宅科技自成立以来,一直致力于智能家居技术的研发和应用。2016年,酷宅与荣事达品冠达成战略协议,共同打造智能家居开放平台。这一平台不仅集成了酷宅先进的物联网应用技术和稳定的云端服务,还整合了荣事达在智能家居领域的丰富经验和资源。通过合作,双方共同推动智能家居产业的发展,为消费者提供更加便捷、智能的家居生活体验。

Electro-Term/Hollingsworth公司的发展小趣事

在快速发展的过程中,Electro-Term公司始终重视人才培养和团队建设。公司建立了完善的人才选拔和培训体系,为员工提供广阔的发展空间和良好的福利待遇。同时,公司还鼓励员工积极参与创新实践和技术交流,营造了浓厚的学术氛围和团队合作精神。这些举措为公司的发展提供了有力的人才保障。

Arduino公司的发展小趣事

随着物联网和智能设备的兴起,Arduino平台在智能家居、智能农业、机器人等领域的应用越来越广泛。开发者们可以利用Arduino平台来设计和开发各种智能设备和应用,实现设备的互联互通和智能化控制。这些应用不仅提高了人们的生活质量,也推动了电子行业的进步和发展。

这五个故事展示了Arduino公司在电子行业中的发展历程和取得的成就。从最初的廉价微控制器解决方案,到如今的多样化主板和广泛应用,Arduino始终秉持着创新、开放和合作的精神,为电子行业的发展做出了重要贡献。

Hei Inc Optoelectronic Division公司的发展小趣事
控制电路需要具备良好的电磁兼容性,以避免对周边设备产生干扰或被干扰。
CyOptics Inc公司的发展小趣事

除了数据通讯和电信市场外,CyOptics的光学产品还逐渐拓展至其他领域。例如,公司的光学组件已集成至光学收发器、转发器及线卡等设备中,为数据中心、高性能计算和企业存储网络等应用提供了强有力的支持。此外,CyOptics还积极开拓新兴市场,如数据库、地铁及长途干线市场等,为客户提供定制化的光学解决方案。

问答坊 | AI 解惑

使用电源管理

电源管理使您可以通过在工作站闲置时减慢工作站的活动来降低总功耗。有关功耗的详细信息,请参考《hp workstation xw8000 technical reference guide》,该指南可从www.hp.com/workstations/support 获得。    各种操作系统在电源管 ...…

查看全部问答>

霍尔传感器应用于无刷电机驱动控制

讨论了利用霍尔元件在无刷电机控制系统中使用的问题,并对霍尔集成传感器进行 了探讨。介绍了2 种利 用霍 尔集成传感器组成无刷 电机控制 电路的方法。 …

查看全部问答>

EWB软件简介

本帖最后由 paulhyde 于 2014-9-15 08:59 编辑 内容不是很多,有兴趣的可以看一下  …

查看全部问答>

A Unified Calibration Algorithm for Scattering

A simple algorithm which unifies the calibration procedures for Scattering and Load Pull measurements is proposed. The new technique is particulary useful when measuring non-insertable devices and for on-wafer characterization ...…

查看全部问答>

关于WinCE5.0下WiFi SDIO卡的支持

在WinCE5.0下要添加哪些组件才能支持WiFi? 已经添加了: 还有就是,是不是如果支持了WiFi配置,那么在开机的时候就会弹出一个配置的对话框? 据说只支持English,是吗?有在中文下弄成功的吗?…

查看全部问答>

请问关于路由器上的操作系统

请问各位: 在华为或思科的路由器上运行的是什么操作系统,是windows或linux吗?还是公司自己开发的什么操作系统?…

查看全部问答>

请高手们帮分析为什么intLock无法锁住中断

公司的一个项目采用MIPS的CPU 发现调用intLock()无效,各中断照样产生 用IDA反汇编出来的代码如下: .text:80050524  # =============== S U B R O U T I N E ======================================= .text:80050524 .text:800505 ...…

查看全部问答>

水利安防监控建设常见的问题与迷思

 由于水利监控设备建设区域涵盖范围广泛,有些甚至会建设于偏远的山区,并且面临狂风暴雨等恶劣天候,因此,在实际应用建设上,便充满许多考验。   那么,通常工程商与使用者经常遭遇哪些问题?他们又需要哪些更好的解决方案呢?   气候恶劣  ...…

查看全部问答>

钢厂照明配电用接触器触点被烧是什么原因?

钢厂照明配电用接触器触点被烧是什么原因? 我公司最近在一钢厂 照明配电采用LC1-D245M7C交流接触器,型号是按照客户要求来选的。但是,最近老是烧掉交流接触器的主触点。     请教各位高手,造成上述问题的原因是什么?该如何处 ...…

查看全部问答>

back-to-backinterrupts

在Cortex-M3的文档中提到back-to-back interrupts,应该如何翻译?可否理解成“接连发生的中断”?…

查看全部问答>