int main(void) { int i; int j = 0; clock_setup(); usart_setup(); printf("hi guys!\n"); adc_setup(); dac_setup(); gpio_set_mode(LED_DISCOVERY_USER_PORT, GPIO_MODE_OUTPUT_2_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, LED_DISCOVERY_USER_PIN); while (1) { uint16_t input_adc0 = read_adc_naiive(0); uint16_t target = input_adc0 / 2; dac_load_data_buffer_single(target, RIGHT12, CHANNEL_2); dac_software_trigger(CHANNEL_2); uint16_t input_adc1 = read_adc_naiive(1); printf("tick: %d: adc0= %u, target adc1=%d, adc1=%d\n", j++, input_adc0, target, input_adc1); gpio_toggle(LED_DISCOVERY_USER_PORT, LED_DISCOVERY_USER_PIN); /* LED on/off */ for (i = 0; i < 1000000; i++) /* Wait a bit. */ __asm__("NOP"); } return 0; }
int main(void) { int i; int j = 0; clock_setup(); usart_setup(); printf("hi guys!\n"); adc_setup(); dac_setup(); /* green led for ticking */ gpio_mode_setup(LED_DISCO_GREEN_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LED_DISCO_GREEN_PIN); while (1) { uint16_t input_adc0 = read_adc_naiive(0); uint16_t target = input_adc0 / 2; dac_load_data_buffer_single(target, RIGHT12, CHANNEL_2); dac_software_trigger(CHANNEL_2); uint16_t input_adc1 = read_adc_naiive(1); printf("tick: %d: adc0= %u, target adc1=%d, adc1=%d\n", j++, input_adc0, target, input_adc1); /* LED on/off */ gpio_toggle(LED_DISCO_GREEN_PORT, LED_DISCO_GREEN_PIN); for (i = 0; i < 1000000; i++) { /* Wait a bit. */ __asm__("NOP"); } } return 0; }
int main(void) { int i; int j = 0; clock_setup(); usart_setup(); printf("hi guys!\n"); adc_setup(); /* green led for ticking */ gpio_mode_setup(LED_DISCO_GREEN_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LED_DISCO_GREEN_PIN); while (1) { //uint16_t input_adc0 = read_adc_naiive(0); //uint16_t target = input_adc0 / 2; //uint16_t input_adc1 = ((uint16_t)((read_adc_naiive(18) - 760) / 25) + 25); int i; for (i = 0; i < 0x13; i++) { uint16_t input_adc1 = read_adc_naiive(i); printf("tick: %d: adc1_%02X=%d\n", j++, i, input_adc1); } uint32_t reg = ADC_CCR; printf("reg = 0x%08X\r\n", reg); /* LED on/off */ gpio_toggle(LED_DISCO_GREEN_PORT, LED_DISCO_GREEN_PIN); for (i = 0; i < 1000000; i++) { /* Wait a bit. */ __asm__("NOP"); } } return 0; }
float get_voltage(void) { float voltage = 0; for(int i = 0; i < 20; ++i) { voltage += 5.9381*(read_adc_naiive(0)*(2.992/4095.0)) + 0.1284; } return voltage/20.0; }
float get_voltage(void) { float voltage = 0; for(int i = 0; i < 20; ++i) { voltage += 11*(read_adc_naiive(0)*(3.3/4095.0)); } return voltage/20.0; }