Super
W przypadku łańcucha znaków pomogło. Wracając jednak do początku to problem z pomiarem z ADC dalej występuje. Zamiana na ReadLine nie działa, gdyż program się "wyburacza".
Ale po koleii:
Funkcja wykonująca pomiar:
Kod:
uint16_t pomiar (uint8_t kanal)
{
//Ustawieniie kanalu do odpytania odbywa sie na 3 najmłodszych bitach rejestru MUX
//Iloczyn logiczny (maskowanie) zeruje trzy najmłosze bity, a suma logiczna ustawia kanał do "odczytu"
ADMUX |= (ADMUX & 0b11111000) | kanal;
ADCSRA |= (1 << ADSC); // start konwersji
while (ADCSRA & (1 << ADSC) );
return ADCW; //ADCW - funkcja pozwalająca na odczyt dwóch bitów z danymi (odpowiednio przekonwertuje porozrzucane bity)
}
Deklaracja zmiennej przechowującej wynik z pomiaru:
Kod:
uint16_t WynikADC=0;
WynikADC = pomiar (PA7);
Wysłanie:
Kod:
uart0_putlong (WynikADC, 10);
void uart0_putlong (uint32_t liczba, uint8_t radix)
{
char buf[17];
ltoa(liczba, buf, radix);
uart0_puts (buf);
}
uart0_puts tak jak w poprzednim poście.
Jak zatem to odczytywać w C#
Poprzednio odczytywałem ReadExisting(), ale w takiej konfiguracji występował problem...