void my_work_handler(struct k_work *work) {int err; /* do the processing that needs to be done periodically */ //********** AIN0 Sample part ************** err = adc_sample1(); if (err) { // printk("Error in adc sampling: %d\n", err); } Var1 = p_sample_buffer[0]; err = adc_sample2(); if (err) { // printk("Error in adc sampling: %d\n", err); } Var2 = p_sample_buffer[0]; } K_WORK_DEFINE(my_work, my_work_handler); void my_timer_handler(struct k_timer *dummy) { k_work_submit(&my_work); } K_TIMER_DEFINE(my_timer, my_timer_handler, NULL); //**************** void main() { //ADC setup adc_dev = device_get_binding(ADC_DEVICE_NAME); if (!adc_dev) { printk("device_get_binding ADC (=%s) failed\n", ADC_DEVICE_NAME); } err = adc_channel_setup(adc_dev, &m_1st_channel_cfg); if (err) { printk("Error in adc AIN0 setup: %d\n", err); } err = adc_channel_setup(adc_dev, &m_2nd_channel_cfg); if (err) { printk("Error in adc AIN1 setup: %d\n", err); } #if defined (CONFIG_BOARD_BMS_NRF5340_CPUAPP) NRF_SAADC->TASKS_CALIBRATEOFFSET = 1; #else #error "Choose supported board or add new board for the application" #endif }