/* * main.c * * Created on: Apr 25, 2015 * Author: mari */ #include #include //#include #include #include #include #include #include #include #include #include static void setup_nvic_priorities() { /* No sub priorities */ NVIC_SetPriorityGrouping(2); /* Setup Priorities */ NVIC_SetPriority(ADC_IRQn, 2); NVIC_SetPriority(DMA2_Stream0_IRQn, 1); } static float pt1000_value; static volatile int pt1000_value_status; int main() { const char *uart_input; size_t uart_input_len; shellmatta_handle_t shell_handle; rcc_manager_enable_clock(&RCC->AHB1ENR, BITMASK_TO_BITNO(RCC_AHB1ENR_GPIOBEN)); __DSB(); GPIOB->MODER = OUTPUT(2) | OUTPUT(3); GPIOB->ODR |= (1<<2); setup_nvic_priorities(); systick_setup(); //setup_dma(&adc_results, 3); adc_pt1000_setup_meas(); uart_init_with_dma(); shell_handle = shell_init(); while(1) { pt1000_value_status = adc_pt1000_get_current_resistance(&pt1000_value); if (uart_receive_data_with_dma(&uart_input, &uart_input_len) >= 0) { shell_handle_input(shell_handle, uart_input, uart_input_len); } //systick_wait_ms(300); } }