博客
关于我
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/

    你可能感兴趣的文章
    Objective-C实现bellman-ford贝尔曼-福特算法(附完整源码)
    查看>>
    Objective-C实现BellmanFord贝尔曼-福特算法(附完整源码)
    查看>>
    Objective-C实现bezier curve贝塞尔曲线算法(附完整源码)
    查看>>
    Objective-C实现bfs 最短路径算法(附完整源码)
    查看>>
    Objective-C实现BF算法 (附完整源码)
    查看>>
    Objective-C实现Bilateral Filter双边滤波器算法(附完整源码)
    查看>>
    Objective-C实现binary exponentiation二进制幂运算算法(附完整源码)
    查看>>
    Objective-C实现binary search二分查找算法(附完整源码)
    查看>>
    Objective-C实现binary tree mirror二叉树镜像算法(附完整源码)
    查看>>
    Objective-C实现binary tree traversal二叉树遍历算法(附完整源码)
    查看>>
    Objective-C实现BinarySearchTreeNode树算法(附完整源码)
    查看>>
    Objective-C实现binomial coefficient二项式系数算法(附完整源码)
    查看>>
    Objective-C实现bisection二分法算法(附完整源码)
    查看>>
    Objective-C实现bisection二等分算法(附完整源码)
    查看>>
    Objective-C实现BitMap算法(附完整源码)
    查看>>
    Objective-C实现bitonic sort双调排序算法(附完整源码)
    查看>>
    Objective-C实现BloomFilter布隆过滤器的算法(附完整源码)
    查看>>
    Objective-C实现BMP图像旋转180度(附完整源码)
    查看>>
    Objective-C实现bogo sort排序算法(附完整源码)
    查看>>
    Objective-C实现boruvka博鲁夫卡算法(附完整源码)
    查看>>