1 | #include <avr/io.h>
|
2 | #include <string.h>
|
3 | #include <stdio.h>
|
4 | #include "uart1.h"
|
5 |
|
6 |
|
7 | int main(void)
|
8 | {
|
9 | char Ursprung[26]; //Ursprungsstring
|
10 | char Gesamtausgabe[200]; //Für alle Ausgaben über UART
|
11 | unsigned int ErsteZahl; //für die 120
|
12 | unsigned int ZweiteZahl; //für die 121
|
13 | char MittlererText[18]; //Ein Byte mehr Platz als der Text wegen \0 "Dies ist ein Text"=17 Zeichen
|
14 |
|
15 | USART1_initialisieren(MYUBRR);
|
16 |
|
17 | strcpy(Ursprung,"120 Dies ist ein Text 121"); //Die Zahlen und der Text sind jeweils durch Tabulator getrennt
|
18 |
|
19 | USART1_String_senden("--------------------------Normaler Versuch-----------------------------------------------\n\r");
|
20 | sprintf(Gesamtausgabe,"Gesamter Text:%s\n\r",Ursprung);
|
21 | USART1_String_senden(Gesamtausgabe);
|
22 | sscanf(Ursprung,"%u\t%s\t%u",&ErsteZahl,MittlererText,&ZweiteZahl);
|
23 | sprintf(Gesamtausgabe,"Erste Zahl:%u\n\r",ErsteZahl);
|
24 | USART1_String_senden(Gesamtausgabe);
|
25 | sprintf(Gesamtausgabe,"Mittlerer Text:%s\n\r",MittlererText);
|
26 | USART1_String_senden(Gesamtausgabe);
|
27 | sprintf(Gesamtausgabe,"Zweite Zahl:%u\n\r",ZweiteZahl);
|
28 | USART1_String_senden(Gesamtausgabe);
|
29 |
|
30 |
|
31 |
|
32 | USART1_String_senden("--------------------------Erster Versuch-----------------------------------------------\n\r");
|
33 | sprintf(Gesamtausgabe,"Gesamter Text:%s\n\r",Ursprung);
|
34 | USART1_String_senden(Gesamtausgabe);
|
35 | sscanf(Ursprung,"%u\t%[^\n]s\t%u",&ErsteZahl,MittlererText,&ZweiteZahl);
|
36 | sprintf(Gesamtausgabe,"Erste Zahl:%u\n\r",ErsteZahl);
|
37 | USART1_String_senden(Gesamtausgabe);
|
38 | sprintf(Gesamtausgabe,"Mittlerer Text:%s\n\r",MittlererText);
|
39 | USART1_String_senden(Gesamtausgabe);
|
40 | sprintf(Gesamtausgabe,"Zweite Zahl:%u\n\r",ZweiteZahl);
|
41 | USART1_String_senden(Gesamtausgabe);
|
42 |
|
43 | USART1_String_senden("--------------------------Zweiter Versuch-----------------------------------------------\n\r");
|
44 | sscanf(Ursprung,"%u\t%[ a-zA-Z0-9]s\t%u",&ErsteZahl,MittlererText,&ZweiteZahl);
|
45 | sprintf(Gesamtausgabe,"Erste Zahl:%u\n\r",ErsteZahl);
|
46 | USART1_String_senden(Gesamtausgabe);
|
47 | sprintf(Gesamtausgabe,"Mittlerer Text:%s\n\r",MittlererText);
|
48 | USART1_String_senden(Gesamtausgabe);
|
49 | sprintf(Gesamtausgabe,"Zweite Zahl:%u\n\r",ZweiteZahl);
|
50 | USART1_String_senden(Gesamtausgabe);
|
51 |
|
52 | USART1_String_senden("--------------------------Dritter Versuch-----------------------------------------------\n\r");
|
53 | sscanf(Ursprung,"%u\t%[^\t]s\t%u",&ErsteZahl,MittlererText,&ZweiteZahl);
|
54 | sprintf(Gesamtausgabe,"Erste Zahl:%u\n\r",ErsteZahl);
|
55 | USART1_String_senden(Gesamtausgabe);
|
56 | sprintf(Gesamtausgabe,"Mittlerer Text:%s\n\r",MittlererText);
|
57 | USART1_String_senden(Gesamtausgabe);
|
58 | sprintf(Gesamtausgabe,"Zweite Zahl:%u\n\r",ZweiteZahl);
|
59 | USART1_String_senden(Gesamtausgabe);
|
60 |
|
61 | USART1_String_senden("--------------------------Vierter Versuch mit Unterstrich statt Leerzeichen------------\n\r");
|
62 | strcpy(Ursprung,"120 Dies_ist_ein_Text 121"); //Die Zahlen und der Text sind jeweils durch Tabulator getrennt
|
63 | sscanf(Ursprung,"%u\t%s\t%u",&ErsteZahl,MittlererText,&ZweiteZahl);
|
64 | sprintf(Gesamtausgabe,"Erste Zahl:%u\n\r",ErsteZahl);
|
65 | USART1_String_senden(Gesamtausgabe);
|
66 | sprintf(Gesamtausgabe,"Mittlerer Text:%s\n\r",MittlererText);
|
67 | USART1_String_senden(Gesamtausgabe);
|
68 | sprintf(Gesamtausgabe,"Zweite Zahl:%u\n\r",ZweiteZahl);
|
69 | USART1_String_senden(Gesamtausgabe);
|
70 | while(1)
|
71 | {
|
72 | //TODO:: Please write your application code
|
73 | }
|
74 | }
|