/*! * @brief main function */ int main(void) { #if FSL_FEATURE_ADC16_HAS_CALIBRATION adc16_calibration_param_t tempSnseCalibraitionParam; #endif hardware_init(); GPIO_DRV_Init(NULL, ledPins); // Configure the power mode protection SMC_HAL_SetProtection(SMC_BASE_PTR, kAllowPowerModeVlp); ADC16_DRV_StructInitUserConfigDefault(&tempSnseAdcConfig); #if (FSL_FEATURE_ADC16_MAX_RESOLUTION >= 16) tempSnseAdcConfig.resolution = kAdc16ResolutionBitOf16; #endif #if BOARD_ADC_USE_ALT_VREF tempSnseAdcConfig.refVoltSrc = kAdc16RefVoltSrcOfValt; #endif // Init ADC ADC16_DRV_Init(ADC_INSTANCE, &tempSnseAdcConfig); // Calibrate VDD and ADCR_TEMP25 #if FSL_FEATURE_ADC16_HAS_CALIBRATION // Auto calibraion ADC16_DRV_GetAutoCalibrationParam(ADC_INSTANCE, &tempSnseCalibraitionParam); ADC16_DRV_SetCalibrationParam(ADC_INSTANCE, &tempSnseCalibraitionParam); #endif // FSL_FEATURE_ADC16_HAS_CALIBRATION calibrateParams(); // get cpu uid low value for slave gSlaveId = SIM_UIDL_UID(SIM_BASE_PTR); PRINTF("i2c_rtos_slave_bm demo\r\n"); // task list initialize OSA_Init(); // create task(in BM: only the first registered task can be executed) OSA_TaskCreate(task_slave, (uint8_t *)"slave", 512, task_slave_stack, 0, (void *)0, false, &task_slave_task_handler); OSA_Start(); return 0; }
SMC_HAL_SetProtection(SMC, &smc_power_prot_cfg); #if FSL_FEATURE_ADC16_HAS_CALIBRATION // Auto calibraion ADC16_DRV_GetAutoCalibrationParam(HWADC_INSTANCE, &tempSnseCalibraitionParam); ADC16_DRV_SetCalibrationParam(HWADC_INSTANCE, &tempSnseCalibraitionParam); #endif // FSL_FEATURE_ADC16_HAS_CALIBRATION ADC16_DRV_StructInitUserConfigDefault(&tempSnseAdcConfig); tempSnseAdcConfig.clkSrcMode = kAdcClkSrcOfAsynClk; tempSnseAdcConfig.resolutionMode = kAdcResolutionBitOfSingleEndAs16; // Initialize ADC ADC16_DRV_Init(HWADC_INSTANCE, &tempSnseAdcConfig); // get cpu uid low value for slave gSlaveId = SIM_UIDL_UID(SIM_BASE); // enable printf dbg_uart_init(); // Configure I2C pins configure_i2c_pins(I2C_RTOS_SLAVE_INSTANCE); printf("i2c_rtos_slave_bm demo\r\n"); // task list initialize OSA_Init(); // create task(in BM: only the first registered task can be executed) OSA_TaskCreate(task_slave, (uint8_t *)"slave",