Hi, habe mittels myAVR Workpad Plus versucht Daten per UART zu senden,
jedoch empfange ich nichts im Windows-HyperTerminal?
Einstellungen hab im im HTerminal wie folgt eingestellt:
Bit/s:9600 - Datenbits:8 - Parität: Keine - Stoppbit:1 -
Flusssteuerung:Kein
Wäre schön wenn jemand weiter weiß
Danke
1 | //-----------------------------------------------------------------------------
|
2 | // Title : UART senden
|
3 | //-----------------------------------------------------------------------------
|
4 | // Prozessor : ATmega640
|
5 | // Takt : 16 MHz
|
6 | // Sprache : C
|
7 | //-----------------------------------------------------------------------------
|
8 | #define F_CPU 16000000
|
9 | #include <avr\io.h>
|
10 | //----------------------------------------------------------------------
|
11 | void uartInit()
|
12 | {
|
13 | UBRR0L = 23; //9600Baud siehe Baudratentabelle
|
14 | UCSR0B = 0x08; //Sender enable UCSRB / UCR bei z.B.: 2313
|
15 | }
|
16 | //----------------------------------------------------------------------
|
17 | void uartPutChar(char data)
|
18 | {
|
19 | //warte bis UDR leer ist UCSRA / USR bei z.B.: 2313
|
20 | while (!(UCSR0A&32));
|
21 | //sende
|
22 | UDR0=data;
|
23 | }
|
24 | //----------------------------------------------------------------------
|
25 | void print(char buffer[])
|
26 | {
|
27 | for (int i=0;buffer[i]!=0;i++)
|
28 | uartPutChar(buffer[i]);
|
29 | }
|
30 | //======================================================================
|
31 | main ()
|
32 | {
|
33 | uartInit();
|
34 | while (true) // Mainloop
|
35 | {
|
36 | print("Hallo myAVR! ");
|
37 |
|
38 |
|
39 | }
|
40 | }
|
41 | //======================================================================
|