Hi,
eine elegantere Lösung wäre eine SerWrite Funktion ohne Längenangabe. Da Strings in C null-terminiert sind, benötigt man den extra Parameter dann nicht. Diese Funktion stammt von RN-User stochri und wird in der neuesten Asuro Lib enthalten sein (wenn ich es schaffe erscheint diese noch heute).
Code:
void uart_putc(unsigned char ch)
{
UCSRB = 0x08; // enable transmitter
UCSRA|=0x40; // clear transmitter flag
while (!(UCSRA & 0x20)); // wait for empty transmit buffer
UDR = ch;
while (!(UCSRA & 0x40)); // Wait for transmit complete flag (TXC)
}
void SerPrint(unsigned char *data)
{
unsigned char i = 0;
while(data[i]!=0x00) uart_putc(data[i++]);
}
Lesezeichen