From 9a823cc2125cafcad1238da0b23ed33e592288ab Mon Sep 17 00:00:00 2001 From: Philipp Klaus Date: Thu, 13 Jul 2017 13:42:55 +0200 Subject: [PATCH] ADCuC: fixed AVR code to get proper output (incl. all channels) --- atmega32u4/adcuc/main.c | 52 ++++++++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/atmega32u4/adcuc/main.c b/atmega32u4/adcuc/main.c index 6822b56..0fb80c9 100644 --- a/atmega32u4/adcuc/main.c +++ b/atmega32u4/adcuc/main.c @@ -90,6 +90,7 @@ void send_answer_hex(uint8_t chan, uint16_t v) { txbuf[7]='\n'; txbuf[8] = 0; usb_serial_write(txbuf,8); + usb_serial_flush_output(); } @@ -115,8 +116,8 @@ void getdata(uint8_t buf) { if (rxcnt >= 7 || buf == '\n' || buf == '\r') { rxcnt = 0; } } -void orignal_value(uint8_t channel, uint8_t get_value_1, uint8_t get_value_2) { - uint16_t result = (get_value_2 << 8) | get_value_1; +void original_value(uint8_t channel, uint8_t get_value_1, uint8_t get_value_2) { + uint16_t result = (get_value_1 << 8) | get_value_2; send_answer_hex(channel,result); } @@ -133,10 +134,10 @@ void do_channel(uint8_t channel) { else ADC2_select(); SPDR = 0b11000011 + ((channel & 0b00000011) << 4); // MSB=Byte1 - while(SPDR & ((1<= 0) { + while (n >= 0) { getdata(n); + n = usb_serial_getchar(); } if(time != lasttime) { - switch(time) { - case 1: do_channel(1); break; - case 2: read_channel(1); break; - case 487: time = 0; break; + switch(step++) { + case 10: do_channel(0); break; + case 20: read_channel(0); break; + case 30: do_channel(1); break; + case 40: read_channel(1); break; + case 50: do_channel(2); break; + case 60: read_channel(2); break; + case 70: do_channel(3); break; + case 80: read_channel(3); break; + case 90: do_channel(4); break; + case 100: read_channel(4); break; + case 110: do_channel(5); break; + case 120: read_channel(5); break; + case 130: do_channel(6); break; + case 140: read_channel(6); break; + case 150: do_channel(7); break; + case 160: read_channel(7); break; + } + if (step >= 487/2) { + //time = 0; + step = 0; } } -- 2.43.0