HPM APP
HPMicro Application solution
demo.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#include "board.h"
#include "hpm_trgm_drv.h"
#include "mp_common.h"
#include "mp_api.h"
#include "demo_led.h"
#include "demo_key.h"
#include "demo_gpio.h"

Macros

#define MP_PAIR_COUNT   2
 
#define MP_PAIR_ADC_MAX   6
 

Functions

static void test_update_freq_duty (void)
 
static void test_update_freq (void)
 
static void test_update_duty (void)
 
static void hpm_mp_pair1_adc_cb (void *handle)
 
static void hpm_mp_pair2_adc_cb (void *handle)
 
static void hpm_timer_cb (void)
 
static void hpm_keys_cb (uint8_t index, uint8_t level)
 
int main (void)
 

Variables

static const mp_pwm_pair_map_t pwm_pair_map []
 
static const mp_adc_map_t adc_map []
 
static hpm_mp_t hpm_power
 
static hpm_pwm_pair_t hpm_pwm_pair [2]
 
static hpm_adc_t hpm_adc [2][6]
 

Macro Definition Documentation

◆ MP_PAIR_ADC_MAX

#define MP_PAIR_ADC_MAX   6

◆ MP_PAIR_COUNT

#define MP_PAIR_COUNT   2

Function Documentation

◆ hpm_keys_cb()

static void hpm_keys_cb ( uint8_t  index,
uint8_t  level 
)
static

◆ hpm_mp_pair1_adc_cb()

static void hpm_mp_pair1_adc_cb ( void *  handle)
static

◆ hpm_mp_pair2_adc_cb()

static void hpm_mp_pair2_adc_cb ( void *  handle)
static

◆ hpm_timer_cb()

static void hpm_timer_cb ( void  )
static

◆ main()

int main ( void  )

◆ test_update_duty()

static void test_update_duty ( void  )
static

◆ test_update_freq()

static void test_update_freq ( void  )
static

◆ test_update_freq_duty()

static void test_update_freq_duty ( void  )
static

Variable Documentation

◆ adc_map

const mp_adc_map_t adc_map[]
static
Initial value:
=
{
{MP_ADC_NUM_0, IOC_PAD_PC04, HPM_ADC0, 0},
{MP_ADC_NUM_1, IOC_PAD_PC05, HPM_ADC0, 1},
{MP_ADC_NUM_2, IOC_PAD_PC08, HPM_ADC1, 0},
{MP_ADC_NUM_3, IOC_PAD_PC09, HPM_ADC1, 1},
{MP_ADC_NUM_4, IOC_PAD_PC12, HPM_ADC2, 0},
{MP_ADC_NUM_5, IOC_PAD_PC13, HPM_ADC2, 1},
{MP_ADC_NUM_6, IOC_PAD_PC16, HPM_ADC0, 12},
{MP_ADC_NUM_7, IOC_PAD_PC17, HPM_ADC0, 13},
{MP_ADC_NUM_8, IOC_PAD_PC20, HPM_ADC1, 12},
{MP_ADC_NUM_9, IOC_PAD_PC21, HPM_ADC1, 13},
{MP_ADC_NUM_10, IOC_PAD_PC24, HPM_ADC2, 12},
{MP_ADC_NUM_11, IOC_PAD_PC25, HPM_ADC2, 13},
{MP_ADC_NUM_12, IOC_PAD_PC06, HPM_ADC0, 2},
{MP_ADC_NUM_13, IOC_PAD_PC07, HPM_ADC0, 3},
{MP_ADC_NUM_14, IOC_PAD_PC10, HPM_ADC1, 2},
{MP_ADC_NUM_15, IOC_PAD_PC11, HPM_ADC1, 3},
{MP_ADC_NUM_16, IOC_PAD_PC14, HPM_ADC2, 2},
{MP_ADC_NUM_17, IOC_PAD_PC15, HPM_ADC2, 3},
{MP_ADC_NUM_18, IOC_PAD_PC18, HPM_ADC0, 14},
{MP_ADC_NUM_19, IOC_PAD_PC19, HPM_ADC0, 15},
{MP_ADC_NUM_20, IOC_PAD_PC22, HPM_ADC1, 14},
{MP_ADC_NUM_21, IOC_PAD_PC23, HPM_ADC1, 15},
{MP_ADC_NUM_22, IOC_PAD_PC26, HPM_ADC2, 14},
{MP_ADC_NUM_23, IOC_PAD_PC27, HPM_ADC2, 15},
}
@ MP_ADC_NUM_0
Definition: mp_common.h:109
@ MP_ADC_NUM_2
Definition: mp_common.h:111
@ MP_ADC_NUM_8
Definition: mp_common.h:117
@ MP_ADC_NUM_20
Definition: mp_common.h:129
@ MP_ADC_NUM_15
Definition: mp_common.h:124
@ MP_ADC_NUM_4
Definition: mp_common.h:113
@ MP_ADC_NUM_10
Definition: mp_common.h:119
@ MP_ADC_NUM_7
Definition: mp_common.h:116
@ MP_ADC_NUM_13
Definition: mp_common.h:122
@ MP_ADC_NUM_19
Definition: mp_common.h:128
@ MP_ADC_NUM_5
Definition: mp_common.h:114
@ MP_ADC_NUM_23
Definition: mp_common.h:132
@ MP_ADC_NUM_18
Definition: mp_common.h:127
@ MP_ADC_NUM_16
Definition: mp_common.h:125
@ MP_ADC_NUM_3
Definition: mp_common.h:112
@ MP_ADC_NUM_11
Definition: mp_common.h:120
@ MP_ADC_NUM_12
Definition: mp_common.h:121
@ MP_ADC_NUM_6
Definition: mp_common.h:115
@ MP_ADC_NUM_17
Definition: mp_common.h:126
@ MP_ADC_NUM_14
Definition: mp_common.h:123
@ MP_ADC_NUM_21
Definition: mp_common.h:130
@ MP_ADC_NUM_9
Definition: mp_common.h:118
@ MP_ADC_NUM_22
Definition: mp_common.h:131
@ MP_ADC_NUM_1
Definition: mp_common.h:110

◆ hpm_adc

hpm_adc_t hpm_adc[2][6]
static

◆ hpm_power

hpm_mp_t hpm_power
static

◆ hpm_pwm_pair

hpm_pwm_pair_t hpm_pwm_pair[2]
static

◆ pwm_pair_map

const mp_pwm_pair_map_t pwm_pair_map[]
static
Initial value:
=
{
{MP_PWM_PAIR_NUM_0, {{IOC_PAD_PB12, IOC_PB12_FUNC_CTL_PWM0_P_0}, {IOC_PAD_PB13, IOC_PB13_FUNC_CTL_PWM0_P_1}}, HPM_PWM0, 0, 0,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 10, 10, HPM_TRGM0, HPM_TRGM0_INPUT_SRC_PWM0_CH10REF, TRGM_TRGOCFG_ADCX_PTRGI0A}}, {0}},
{MP_PWM_PAIR_NUM_1, {{IOC_PAD_PB14, IOC_PB14_FUNC_CTL_PWM0_P_2}, {IOC_PAD_PB15, IOC_PB15_FUNC_CTL_PWM0_P_3}}, HPM_PWM0, 2, 2,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 11, 11, HPM_TRGM0, HPM_TRGM0_INPUT_SRC_PWM0_CH11REF, TRGM_TRGOCFG_ADCX_PTRGI0B}}, {0}},
{MP_PWM_PAIR_NUM_2, {{IOC_PAD_PB28, IOC_PB28_FUNC_CTL_PWM2_P_04}, {IOC_PAD_PB29, IOC_PB29_FUNC_CTL_PWM2_P_05}}, HPM_PWM2, 4, 4,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 12, 12, HPM_TRGM2, HPM_TRGM2_INPUT_SRC_PWM2_CH12REF, TRGM_TRGOCFG_ADCX_PTRGI0A}}, {0}},
{MP_PWM_PAIR_NUM_3, {{IOC_PAD_PB30, IOC_PB30_FUNC_CTL_PWM2_P_06}, {IOC_PAD_PB31, IOC_PB31_FUNC_CTL_PWM2_P_07}}, HPM_PWM2, 6, 6,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 13, 13, HPM_TRGM2, HPM_TRGM2_INPUT_SRC_PWM2_CH13REF, TRGM_TRGOCFG_ADCX_PTRGI0B}}, {0}},
{MP_PWM_PAIR_NUM_4, {{IOC_PAD_PB00, IOC_PB00_FUNC_CTL_PWM1_P_0}, {IOC_PAD_PB01, IOC_PB01_FUNC_CTL_PWM1_P_1}}, HPM_PWM1, 0, 0,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 10, 10, HPM_TRGM1, HPM_TRGM1_INPUT_SRC_PWM1_CH10REF, TRGM_TRGOCFG_ADCX_PTRGI0A}}, {0}},
{MP_PWM_PAIR_NUM_5, {{IOC_PAD_PB02, IOC_PB02_FUNC_CTL_PWM1_P_2}, {IOC_PAD_PB03, IOC_PB03_FUNC_CTL_PWM1_P_3}}, HPM_PWM1, 2, 2,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 11, 11, HPM_TRGM1, HPM_TRGM1_INPUT_SRC_PWM1_CH11REF, TRGM_TRGOCFG_ADCX_PTRGI0B}}, {0}},
{MP_PWM_PAIR_NUM_6, {{IOC_PAD_PA24, IOC_PA24_FUNC_CTL_PWM3_P_04}, {IOC_PAD_PA25, IOC_PA25_FUNC_CTL_PWM3_P_05}}, HPM_PWM3, 4, 4,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 12, 12, HPM_TRGM3, HPM_TRGM3_INPUT_SRC_PWM3_CH12REF, TRGM_TRGOCFG_ADCX_PTRGI0A}}, {0}},
{MP_PWM_PAIR_NUM_7, {{IOC_PAD_PA26, IOC_PA26_FUNC_CTL_PWM3_P_06}, {IOC_PAD_PA27, IOC_PA27_FUNC_CTL_PWM3_P_07}}, HPM_PWM3, 6, 6,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 13, 13, HPM_TRGM3, HPM_TRGM3_INPUT_SRC_PWM3_CH13REF, TRGM_TRGOCFG_ADCX_PTRGI0B}}, {0}},
{MP_PWM_PAIR_NUM_8, {{IOC_PAD_PB24, IOC_PB24_FUNC_CTL_PWM2_P_00}, {IOC_PAD_PB25, IOC_PB25_FUNC_CTL_PWM2_P_01}}, HPM_PWM2, 0, 0,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 10, 10, HPM_TRGM2, HPM_TRGM2_INPUT_SRC_PWM2_CH10REF, TRGM_TRGOCFG_ADCX_PTRGI0A}}, {0}},
{MP_PWM_PAIR_NUM_9, {{IOC_PAD_PB26, IOC_PB26_FUNC_CTL_PWM2_P_02}, {IOC_PAD_PB27, IOC_PB27_FUNC_CTL_PWM2_P_03}}, HPM_PWM2, 2, 2,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 11, 11, HPM_TRGM2, HPM_TRGM2_INPUT_SRC_PWM2_CH11REF, TRGM_TRGOCFG_ADCX_PTRGI0B}}, {0}},
{MP_PWM_PAIR_NUM_10, {{IOC_PAD_PB16, IOC_PB16_FUNC_CTL_PWM0_P_4}, {IOC_PAD_PB17, IOC_PB17_FUNC_CTL_PWM0_P_5}}, HPM_PWM0, 4, 4,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 12, 12, HPM_TRGM0, HPM_TRGM0_INPUT_SRC_PWM0_CH12REF, TRGM_TRGOCFG_ADCX_PTRGI0A}}, {0}},
{MP_PWM_PAIR_NUM_11, {{IOC_PAD_PB18, IOC_PB18_FUNC_CTL_PWM0_P_6}, {IOC_PAD_PB19, IOC_PB19_FUNC_CTL_PWM0_P_7}}, HPM_PWM0, 6, 6,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 13, 13, HPM_TRGM0, HPM_TRGM0_INPUT_SRC_PWM0_CH13REF, TRGM_TRGOCFG_ADCX_PTRGI0B}}, {0}},
{MP_PWM_PAIR_NUM_12, {{IOC_PAD_PA20, IOC_PA20_FUNC_CTL_PWM3_P_00}, {IOC_PAD_PA21, IOC_PA21_FUNC_CTL_PWM3_P_01}}, HPM_PWM3, 0, 0,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 10, 10, HPM_TRGM3, HPM_TRGM3_INPUT_SRC_PWM3_CH10REF, TRGM_TRGOCFG_ADCX_PTRGI0A}}, {0}},
{MP_PWM_PAIR_NUM_13, {{IOC_PAD_PA22, IOC_PA22_FUNC_CTL_PWM3_P_02}, {IOC_PAD_PA23, IOC_PA23_FUNC_CTL_PWM3_P_03}}, HPM_PWM3, 2, 2,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 11, 11, HPM_TRGM3, HPM_TRGM3_INPUT_SRC_PWM3_CH11REF, TRGM_TRGOCFG_ADCX_PTRGI0B}}, {0}},
{MP_PWM_PAIR_NUM_14, {{IOC_PAD_PB04, IOC_PB04_FUNC_CTL_PWM1_P_4}, {IOC_PAD_PB05, IOC_PB05_FUNC_CTL_PWM1_P_5}}, HPM_PWM1, 4, 4,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 12, 12, HPM_TRGM1, HPM_TRGM1_INPUT_SRC_PWM1_CH12REF, TRGM_TRGOCFG_ADCX_PTRGI0A}}, {0}},
{MP_PWM_PAIR_NUM_15, {{IOC_PAD_PB06, IOC_PB06_FUNC_CTL_PWM1_P_6}, {IOC_PAD_PB07, IOC_PB07_FUNC_CTL_PWM1_P_7}}, HPM_PWM1, 6, 6,
{{MP_PWM_TRIGGER_MODE_OUTPUT, 13, 13, HPM_TRGM1, HPM_TRGM1_INPUT_SRC_PWM1_CH13REF, TRGM_TRGOCFG_ADCX_PTRGI0B}}, {0}},
}
@ MP_PWM_TRIGGER_MODE_OUTPUT
Output mode ;输出模式
Definition: mp_common.h:190
@ MP_PWM_PAIR_NUM_13
Definition: mp_common.h:74
@ MP_PWM_PAIR_NUM_2
Definition: mp_common.h:63
@ MP_PWM_PAIR_NUM_1
Definition: mp_common.h:62
@ MP_PWM_PAIR_NUM_3
Definition: mp_common.h:64
@ MP_PWM_PAIR_NUM_12
Definition: mp_common.h:73
@ MP_PWM_PAIR_NUM_6
Definition: mp_common.h:67
@ MP_PWM_PAIR_NUM_8
Definition: mp_common.h:69
@ MP_PWM_PAIR_NUM_5
Definition: mp_common.h:66
@ MP_PWM_PAIR_NUM_0
Definition: mp_common.h:61
@ MP_PWM_PAIR_NUM_9
Definition: mp_common.h:70
@ MP_PWM_PAIR_NUM_7
Definition: mp_common.h:68
@ MP_PWM_PAIR_NUM_14
Definition: mp_common.h:75
@ MP_PWM_PAIR_NUM_10
Definition: mp_common.h:71
@ MP_PWM_PAIR_NUM_15
Definition: mp_common.h:76
@ MP_PWM_PAIR_NUM_4
Definition: mp_common.h:65
@ MP_PWM_PAIR_NUM_11
Definition: mp_common.h:72