35 stc_gpio_config_t pstcGpioCfg;
37 Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);
39 pstcGpioCfg.enDir = GpioDirOut;
40 pstcGpioCfg.enDrv = GpioDrvH;
41 pstcGpioCfg.enPuPd = GpioPu;
42 pstcGpioCfg.enOD = GpioOdDisable;
43 pstcGpioCfg.enCtrlMode = GpioAHB;
51 pstcGpioCfg.enDir = GpioDirIn;
65 stc_sysctrl_clk_config_t stcCfg;
66 stc_gpio_config_t stcTIM0Port;
67 stc_bt_mode23_config_t stcBtBaseCfg;
68 stc_bt_m23_compare_config_t stcBtPortCmpCfg;
69 DDL_ZERO_STRUCT(stcCfg);
70 DDL_ZERO_STRUCT(stcTIM0Port);
71 DDL_ZERO_STRUCT(stcBtBaseCfg);
72 DDL_ZERO_STRUCT(stcBtPortCmpCfg);
75 Sysctrl_SetPeripheralGate(SysctrlPeripheralFlash, TRUE);
78 Flash_WaitCycle(FlashWaitCycle0);
80 stcCfg.enClkSrc = SysctrlClkRCH;
82 stcCfg.enHClkDiv = SysctrlHclkDiv1;
84 stcCfg.enPClkDiv = SysctrlPclkDiv1;
86 Sysctrl_SetRCHTrim(SysctrlRchFreq4MHz);
88 Sysctrl_ClkInit(&stcCfg);
90 Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);
91 Sysctrl_SetPeripheralGate(SysctrlPeripheralBTim, TRUE);
92 stcTIM0Port.enDir = GpioDirOut;
96 stcBtBaseCfg.enWorkMode = BtWorkMode3;
97 stcBtBaseCfg.enCT = BtTimer;
98 stcBtBaseCfg.enPRS = BtPCLKDiv1;
99 stcBtBaseCfg.enCntDir = BtCntUp;
100 stcBtBaseCfg.enPWMTypeSel = BtIndependentPWM;
101 stcBtBaseCfg.enPWM2sSel = BtSinglePointCmp;
102 stcBtBaseCfg.bOneShot = FALSE;
103 stcBtBaseCfg.bURSSel = FALSE;
105 Bt_Mode23_Init(TIM0, &stcBtBaseCfg);
108 Bt_M23_ARRSet(TIM0, u16ArrValue, TRUE);
110 Bt_M23_CCR_Set(TIM0, BtCCR0A, u16CompareAValue);
112 stcBtPortCmpCfg.enCH0ACmpCtrl = BtCMPInverse;
113 stcBtPortCmpCfg.enCH0APolarity = BtPortPositive;
114 stcBtPortCmpCfg.bCh0ACmpBufEn = TRUE;
115 stcBtPortCmpCfg.enCh0ACmpIntSel = BtCmpIntNone;
116 Bt_M23_PortOutput_Config(TIM0, &stcBtPortCmpCfg);
119 Bt_M23_SetValidPeriod(TIM0, u8ValidPeriod);
121 Bt_M23_Cnt16Set(TIM0, u16CntValue);
126 Bt_M23_EnPWM_Output(TIM0, TRUE, FALSE);
210 return refVoltage * dataIn / 16777216;
222#ifdef __DEBUG_TM7707_ATY
223 printf(
"\r\nTM7707 GPIO & MCLK init done!\r\n");
235#ifdef __DEBUG_TM7707_ATY
236 printf(
"\r\nTM7707 Resetting & Initializing...\r\n");
248#ifdef __DEBUG_TM7707_ATY
249 printf(
"\r\nTM7707 reset done!\r\n");
295 printf(
"CH1: %06x / %u \r\n",
296 tm7707Data24[
i], tm7707Data24[
i]);
299 printf(
"\r\nCH1 Averange Data: %d\r\n", tm7707Data24Temp);
300 printf(
"\r\nCH1 Averange Voltage: %1.6f V\r\n",
#define ALGO_AverageInDelExtremum(dataType, vN, dataInGroup, dataOut)
Calculate averange with delete extremum.
void DelayMs(uint32_t ms)
void DelayUs(uint32_t us)
__WEAK_ATY void printf(uint8_t *,...)
float TM7707_VoltageCalc(float refVoltage, uint32_t dataIn)
Calculate voltage from 24 bit data.
void TM7707_Test(void)
TM7707 test.
void TM7707_MCLK_Init(void)
void TM7707_GPIO_Init(void)
uint32_t TM7707_ReadData(void)
Read data from TM7707 Data Register once.
void TM7707_WriteByte(uint8_t data_t)
Write one byte to TM7707.
void TM7707_Init(void)
Init TM7707.
uint8_t TM7707_ReadByte(void)
Read one byte from TM7707.
Familiar functions of TM7707 for all embedded device.
#define TM7707_MD_CAL_SELF
#define TM7707_REFEN_PORT
#define TM7707_RESET_SET_H
#define TM7707_REG_FILTER_H
#define TM7707_RESET_PORT
#define TM7707_DATA_GROUP_SIZE
#define TM7707_REFEN_SET_H
#define TM7707_SCLK_SET_L
#define TM7707_SCLK_SET_H
#define TM7707_RESET_SET_L
#define TM7707_DRDY_GET_H
#define TM7707_DOUT_GET_H
#define TM7707_REG_FILTER_L
#define TM7707_MCLKIN_PORT
#define TM7707_MCLKIN_PIN