股票

SAM4S XPLAINED开发板低功耗测试程序

样板芯片是SAM4S16C,使用的是ASF中的测试程序 Low Power Demo for SAM boards-SAM4S Xplained Pro。看右边图片,与我的板子有一点点区别,并且它的板载芯片是 SAM4SD32C。

SAM4S XPLAINED开发板低功耗测试程序

首先由几个地方要根据实际情况修改一下。第一个是按键,我的板子上按键是PA5,示例程序按键是PA2,所以需要修改按键的宏定义,在 sam4s_xplained_pro.h 文件中有两处:

  1. //! \name SW0 definitions
  2. //@{
  3. #define SW0_PIN                   IOPORT_CREATE_PIN(PIOA, 5)
  4. #define SW0_ACTIVE                false
  5. #define SW0_INACTIVE              !SW0_ACTIVE
  6. #define SW0_SUPC_INPUT            2
  7. //@}

这里 #define SW0_SUPC_INPUT 2 在程序中没有用到,我也就没有修改。

 还有下方:
  1. #define PIN_PUSHBUTTON_0_MASK     PIO_PA5
  2. #define PIN_PUSHBUTTON_0_PIO      PIOA
  3. #define PIN_PUSHBUTTON_0_ID       ID_PIOA
  4. #define PIN_PUSHBUTTON_0_TYPE     PIO_INPUT
  5. #define PIN_PUSHBUTTON_0_ATTR     (PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE)

由于引脚被修改,在SAM4S的datasheet中 PIOA控制器复用说明中可以查到,PA2的外部唤醒函数是 WKUP2,而PA5的外部唤醒函数是WKUP4,所以要使唤醒在 Wait Mode 和 Backup Mode 有效果,还需要修改 low_power_board.h 文件中的宏定义:

  1. /** Wakeup pin for wait mode: WKUP2 pin (SW0) */
  2. #define WAKEUP_WAIT_INPUT_ID    (1u << 4)
  3. /** Wakeup pin for backup mode: WKUP2 pin (SW0) */
  4. #define WAKEUP_BACKUP_INPUT_ID  (1u << 4)

这样就可以接入串口工具进行测试,根据提示进入输入选择,效果如下:

SAM4S XPLAINED开发板低功耗测试程序

其中 Exit from wait Mode. 是在按下按键唤醒MCU之后收到的消息。

打赏
原文链接:,转发请注明来源!

发表评论