NVMC提供了写或擦除Flash区域和UICR(用户信息配置寄存器)的功能
写FLASH之前必须通过写寄存器config.wen来使能flash的写操作。同样,擦除flash之前必须通过写寄存器config.een来使能flash的擦除操作。
NVMC寄存器
看门狗定时器
WDT:发生软件故障时,(如程序陷入死循环或者程序跑飞),强制复位单片机,让单片机重新运行程序。
本质是一个计数器,不过作用是固定的,一旦计数值累增到设定的值或者递减到0,即超时时,单门狗定时器产生复位信号,复位系统。
程序正常运行时,会在超时前清零,或者重装计数值,俗称喂狗,这样就保证看门狗计时器永远不会超时,而一旦程序运行出现故障,无法正常喂狗,看门狗计时器最终会“超时”复位系统。
软件设计
库函数的应用
使用WDT时需要初始化WDT程序模块,之后向WDT驱动程序申请喂狗通道,可以申请一个,也可以多个(WDT共有8个喂狗通道),申请成功后,启动看门狗。看门狗启动后,WDT计数值开始递减,程序需要在WDT计数值减到0之前执行喂狗操作。重装计数值。WDT的应用流程
调用nrfx_wdt_init()函数,同时该函数会配置WDT的动作、重装值和中断优先级。
有疑问:
宏定义 #define
寄存器
寄存器(Register)是中央处理器(CPU)内部的一种高速存储单元,用于存储计算机程序执行过程中所需要的数据、指令地址或状态信息。寄存器是计算机体系结构中至关重要的组成部分,对计算机的运算速度和性能有着至关重要的影响。它们位于CPU内部,具有非常高的存取速度,能够迅速响应CPU的指令,为CPU提供即时且高效的数据支持。
寄存器的种类繁多,根据功能和用途的不同,可以分为多种类型,如数据寄存器、地址寄存器、状态寄存器、指令寄存器等。这些寄存器在CPU执行指令时发挥着不同的作用,共同协作以确保计算机能够高效、稳定地执行各种复杂的任务。
配置寄存器(Configuration Register)是寄存器的一种特殊类型,它用于存储和配置系统或设备的运行参数和状态信息。通过修改配置寄存器的值,可以改变系统或设备的行为、性能或功能。配置寄存器通常具有可读写性,允许软件或硬件在运行时对其进行配置和修改。
如何配置寄存器
配置寄存器的方法因系统或设备的不同而有所差异,但一般遵循以下基本步骤:
- 确定寄存器地址:
- 首先需要知道要配置的寄存器的地址。这通常可以在系统或设备的文档中找到。
- 准备配置数据:
- 根据需要配置的参数和状态信息,准备相应的数据。这些数据将写入到配置寄存器中。
- 执行写入操作:
- 使用适当的指令或方法将配置数据写入到目标寄存器的地址中。这通常涉及到对硬件或软件的编程操作。
- 验证配置结果:
- 写入配置数据后,需要验证配置是否成功。这可以通过读取配置寄存器的值并检查其是否与预期相符来完成。
- 调整和优化:
- 如果需要,可以根据配置结果对系统或设备进行进一步的调整和优化。