Программирование MAX32620FTHR L0


На текущий момент (середина 2019 года) MAX32620FTHR поддерживает только две официальные библиотеки от Maxim Integrated: SPI & Wire.

Для использования дополнительных возможностей MAX32620FTHR создадим библиотеку MAX32620FTHRM и продемонстрируем работу ее функций энергосбережения на простом примере
(бинарный образ можно просто скопировать на сменный диск с именем "BOOTLOADER").

//=============================================================================>
// 1. Project - start
/**********************************************************************
* Author: 
* MagSem
*
* Revisions:
* 1.0.0       06.05.2019      initial code
* 
**********************************************************************/
// 1. Project - finish
//=============================================================================<
//=============================================================================>
// 2. Includes - start
#include <MAX32620FTHRM.h>            // MAX32620FTHRM MagSem Lib
// 2. Includes - finish
//=============================================================================<
//=============================================================================>
// 3. Definitions - start
// 3. Definitions - finish
//=============================================================================<
//=============================================================================>
// 4. Globals - start
uint8_t LED_Status[] = {0, 0, 0, 0};
// 4. Globals - finish
//=============================================================================<
//=============================================================================>
// 5. Functions - start
// 5. Functions - finish
//=============================================================================<
//=============================================================================>
// 6. SetUp - start
void setup(void)
{
  // Prepare the User LEDs
  pinMode(MAX32620FTHR_RLED, OUTPUT);
  pinMode(MAX32620FTHR_GLED, OUTPUT);
  pinMode(MAX32620FTHR_BLED, OUTPUT);
  //---------------------------------------------------------------
  // Initialize and setup watchdog wake-up and reset times
  // WDT2_Setup_Mod(int WakeUp, int WakeUp_Clks, int Reset, int Reset_Clks)
  // WakeUp {0,1}, WakeUp_Clks {0,..., 15}, Reset {0,1}, Reset_Clks {0,..., 15}
  // Example:
  // WDT2_Setup_Mod(1, 11, 0, 0); // SetUp WakeUp Time 2.048s without Reset
  WDT2_Setup_Mod(1, 11, 0, 0);
}
// 6. SetUp - finish
//=============================================================================<
//=============================================================================>
// 7. Loop - start
void loop(void)
{
  LED_On(2);
  delayMaxim(1000);
  LED_Off(2);
  delayMaxim(1000);
  LED_Toggle(0);
  delayMaxim(1000);
  LED_Toggle(0);
  delayMaxim(1000);
  LED_On(1);
  Freq_04MHz_Nms(1000);
  LED_Off(1);
  Freq_96MHz();
  delayMaxim(1000);
  LED_On(2);
  delayMaxim(1000);
  LED_Off(2);
  delayMaxim(1000);
  LED_On(3);
  delayMaxim(1000);
  LED_Off(3);
  delayMaxim(1000);
  WDT2_WakupFromLP1();
}
// 7. Loop - finish
//=============================================================================<

 

Второй пример демонстрирует использование функций инициализации зарядного устройства и управления PMIC светодиодами
(бинарный образ можно просто скопировать на сменный диск с именем "BOOTLOADER").

//=============================================================================>
// 1. Project - start
/**********************************************************************
* Author: 
* MagSem
*
* Revisions:
* 1.0.0       07.05.2019      initial code
*
* Working with battery and PMIC Leds:
* Leds off - Charger dont connect
* Led  Red - Battery charging
* Led  Gre - Battery full
**********************************************************************/
// 1. Project - finish
//=============================================================================<
//=============================================================================>
// 2. Includes - start
#include <MAX32620FTHRM.h>            // MAX32620FTHRM MagSem Lib
// 2. Includes - finish
//=============================================================================<
//=============================================================================>
// 3. Definitions - start
#define MAX77650_setCHG_CC_Acc  0b010101 // 165.0 mA for AA 800 mAh Li-Ion 3.7 V
// 3. Definitions - finish
//=============================================================================<
//=============================================================================>
// 4. Globals - start
uint8_t LED_Status[] = {0, 0, 0, 0};
// MAX77650 Globals
boolean PMIC_INT = false;
boolean LED_setup = false;
int MAX77650_GLBL_INT_REG = 0;
int MAX77650_CHG_INT_REG = 0;
// 4. Globals - finish
//=============================================================================<
//=============================================================================>
// 5. Functions - start
// 5. Functions - finish
//=============================================================================<
//=============================================================================>
// 6. SetUp - start
void setup(void)
{
  // Configure the MAX77650 Power-Management:
  // Pins, PMIC Leds, Charger and others   
  MAX77650_Global_Setup(MAX77650_setCHG_CC_Acc);
  // Prepare the User LEDs
  pinMode(MAX32620FTHR_RLED, OUTPUT);
  pinMode(MAX32620FTHR_GLED, OUTPUT);
  pinMode(MAX32620FTHR_BLED, OUTPUT);
}
// 6. SetUp - finish
//=============================================================================<
//=============================================================================>
// 7. Loop - start
void loop(void)
{
  LED_On(0);
  delayMaxim(1000);
  PMIC_LED_CH();  // Output PMIC LED
  LED_Off(0);
  delayMaxim(1000);
}
// 7. Loop - finish
//=============================================================================<

Возврат к оглавлению

Дата последнего изменения: 07.05.2019

postmaster@rusmagnet.ru