博客
关于我
MSP430FR6989之看门狗
阅读量:389 次
发布时间:2019-03-05

本文共 1159 字,大约阅读时间需要 3 分钟。

MSP430FR6989的看门狗配置相对简单,主要通过配置WDTCTL寄存器即可实现。以下是详细的步骤和相关配置说明:

  • WDTCTL寄存器配置

    • WDTPW:每次设置WDTCTL寄存器时,需向WDTPW寄存器写入0x05A,确保看门狗的安全性。
    • WDTHOLD:控制看门狗的启用或禁用。设置为0停止,设置为1启用。
    • WDTSSEL:设置看门狗时钟源。在本项目中,晶振频率为32.768KHz,接在LFX引脚上,因此需将WDTSSEL配置为ACLK引脚。
    • WDTTMSEL:设置为0进入看门狗模式,为1进入间隔定时器模式。
    • WDTCNTCL:喂狗功能,确保看门狗不会自动复位。
    • WDTIS:设置看门狗的分频系数。为实现1秒的定时间隔,需将WDTIS设为32768。
  • 晶振源配置

    • 32.768KHz的晶振接在LFX引脚上,确保WDTSSEL正确配置为ACLK。
  • 代码实现:使用DriverLib库实现看门狗配置和控制:

    #include 
    int main(void) { volatile uint32_t i; WDT_A_hold(WDT_A_BASE); // 停止看门狗 WDT_A_initWatchdogTimer(WDT_A_BASE, WDT_A_CLOCKSOURCE_ACLK, WDT_A_CLOCKDIVIDER_32K); // 配置时钟源和分频 WDT_A_start(WDT_A_BASE); // 启动看门狗 GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0); // 配置LED引脚 GPIO_setOutputHighOnPin(GPIO_PORT_P1, GPIO_PIN0); // LED初始高状态 PMM_unlockLPM5(); // 解锁低功耗模式 while (1) { for (i = 10000; i > 0; i--) { // 延时循环 GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0); // LED闪烁 WDT_A_resetTimer(WDT_A_BASE); // 喂狗 } }}
  • 验证与优化

    • 初始配置:10,000次循环,延时约1.024秒,喂狗成功,LED正常闪烁。
    • 延时增加:100,000次循环,延时约10.24秒,喂狗失败,LED保持高状态。
    • 喂狗优化:在延时循环中添加喂狗指令,确保看门狗不会自动复位。
  • 通过以上配置和优化,MSP430FR6989的看门狗功能能够有效防止程序跑飞,确保系统稳定运行。

    转载地址:http://ldiwz.baihongyu.com/

    你可能感兴趣的文章
    QuickBI助你成为分析师——搞定数据源
    查看>>
    pkl来存储python字典
    查看>>
    quick sort | 快速排序 C++ 实现
    查看>>
    pkpmbs 建设工程质量监督系统 文件上传漏洞复现
    查看>>
    pku 2400 Supervisor, Supervisee KM求最小权匹配+DFS回溯解集
    查看>>
    queue队列、deque双端队列和priority_queue优先队列
    查看>>
    PKUSC2018游记
    查看>>
    PK项目测试,做产品测试有这4大优势!
    查看>>
    pl sql 的目录 所在的目录 不能有 小括号,如 Program Files (x86)
    查看>>
    PL SQLDEVELOPMENT导出数据库脚本
    查看>>
    Queue
    查看>>
    PL/SQL Developer中文版下载以及使用图解(绿色版)
    查看>>
    pl/sql developer乱码,日期格式等问题解决
    查看>>
    PL/SQL 中的if elsif 练习
    查看>>
    PL/SQL 存储函数和过程
    查看>>
    PL/SQL提示“ORA-01722:无效数字,将无效数字查找出来
    查看>>
    PL/sql语法单元
    查看>>
    PL/SQL连接远程服务器数据库,出现ORA-12154: TNS: 无法解析指定的连接标识符。
    查看>>
    pl/sql锁
    查看>>
    QueryPerformanceCounter与QueryPerformanceFrequency
    查看>>