Schon besser. uart_putc und uart_putc1 sind identisch, du brauchst nur
eine davon. Diese Funktion braucht auch kein return statement, von einer
put Routine erwartet man nur, dass sie was schreibt. Außerdem solltest
du nicht bei jedem ReadChannel Aufruf den ADC enablen bzw. die
Referenzspannung wählen, sowas gehört in eine setup routine, die
einmalig am Programmanfang aufgerufen wird. Dort sollte dann auch der
UART setup passieren.
Derzeit schickst du die ADC Werte als 8-bit integer Binärwert zur UART.
Dein ADC hat aber 10 bit, du verlierst beim senden die oberen 2 bits und
auf der Empfängerseite kommt nur unbrauchbarer Zahlenmüll an. Besser ist
es vermutlich über die UART lesbare Textnachrichten zu verschicken, die
dann auch die zum jeweiligen ADC Wert zugehörige ADC Kanalnummer
enthalten. z.B. sowas : "CH4:128,CH5:572,..."
Desweiteren kannst du die adcval und adcval1 Variablen einsparen und
besser sowas hinschreiben :
1 | uart_putc(ReadChannel(4));
|
2 | uart_putc(ReadChannel(5));
|