使用DA14531开发板学习Blinky例子的小结如下:
-
通过UART2_TX_PIN自定义串口发送脚:可以将UART2_TX_PIN连接到开发板的UTX脚,以便将日志打印到PC。需要在代码中初始化UART通信,并使用uart2_printf()函数输出日志信息。
-
通过设置LED_PIN为自定义引脚:可以将LED_PIN连接到J2跳线的P29脚,以控制LED的闪烁。需要在代码中将LED引脚配置为输出模式,并使用适当的延迟函数控制LED点亮和熄灭的时间间隔。
-
特殊性的P00脚:P00脚具有特殊的功能,需要调用GPIO_Disable_HW_Reset()函数取消其绑定的复位功能,以使其能够有效输出波形。
-
syscntl_dcdc_turn_on_in_boost(SYSCNTL_DCDC_LEVEL_3V0):这个函数的作用是将IO口电平改为3.0V。可以根据需要进行调整。
-
GPIO_set_pad_latch_en(true):这个函数非常重要,如果不调用它,IO口的输出将无效,包括串口输出也将无效。
-
arch_wdg.h中的看门狗功能:如果需要使用看门狗功能,需要在配置文件中使能宏CFG_WDOG。在这个例子中,看门狗电路未被使能,但其他项目中在\src\config\da1458x_config_basic.h文件中有定义。
-
看门狗的相关设置:看门狗具有冻结和复原功能,可以控制是否让它运行。还有一个写使能位,只有在寄存器中相关位为0时才能修改看门狗的值,相当于密码保护,大大降低了程序刷新看门狗的可能性。
-
看门狗的操作和触发方式:看门狗可以触发NMI中断或者看门狗复位。如果设置了触发NMI中断,会继续减值为负数(8位之外还有一位表示正负的bit),在16个周期后如果还未喂狗,将触发看门狗复位。assert代码中会将看门狗值改为1,意味着一个周期后就会复位。
-
喂狗的时机:通常在main函数和耗时较多的事件中喂狗,比如加载flash或上层app循环中。
-
延时实现:有时会使用for循环作为延时,每个微秒等待两次循环,具体原理和时钟要求需要进一步了解。