hier hab ich zwei mehr oder weniger gute Vorschläge für dich:
1. Ich hatte vor nicht alzu langer zeit das selbe problem und hab es wie folgt gelöst. die meisten hier würden mir glaub ich den kopf abreisen,aber hey es funktioniert. Falls du nichts mit sprintf anfgangen kannst. Goggle ist dein Freund und helfer.
Code:
#include "asuro.h"
#include <stdio.h>
int main() {
int i = 10;
char aC[2];
Init();
sprintf(aC, "%d", i);
SerWrite(aC, 2);
while(1);
}
2. Dieso Lösung hab ich aus der erweiterten lib abgeschrieben. Funktioniert einwandfrei.
Code:
#include "asuro.h"
#include <stdio.h>
void UartPutc(unsigned char zeichen) {
UCSRB = 0x08;
UCSRA |= 0x40;
while(!(UCSRA & 0x20));
UDR = zeichen;
while(!(UCSRA & 0x40));
UCSRB = 0x00;
}
void SerPrint(char *data){
unsigned char i = 0;
while(data[i] != 0x00)
UartPutc(data[i++]);
}
void PrintInt(int wert){
char text[7];
itoa(wert, text, 10);
SerPrint(text);
}
int main() {
Init();
PrintInt(10);
PrintInt(200);
while(1);
}
Lesezeichen