Moin,
ich versuche gerade die USART Schnittstelle eines XMega128A1 zum laufen
zu bringen. Allerdings sendet der Controller einfach nicht das was ich
will.
Ich probier es jetzt schon mit einem ganz einfachen Testprogramm:
1 | int main (void)
|
2 | {
|
3 |
|
4 | PORTE.DIR = PIN3_bm;
|
5 | PORTE.OUT = PIN3_bm;
|
6 |
|
7 |
|
8 | USARTE0.CTRLA = 0;
|
9 | USARTE0.CTRLB = 8; // senden einschalten
|
10 | USARTE0.CTRLC = 3; // 8 Bit
|
11 | USARTE0.BAUDCTRLB = 0;
|
12 | USARTE0.BAUDCTRLA = 12;
|
13 |
|
14 |
|
15 |
|
16 | USARTE0.DATA = 0xAA;
|
17 | USARTE0.DATA = 0xAA;
|
18 |
|
19 | for(;;)
|
20 | {
|
21 | }
|
22 | }
|
und trotzdem wird nicht das gesendet, was eigentlich übertragen werden
sollte. Hab ich hier irgendeine Feinheit übersehen oder was klappt
nicht?
Senden tu ich wie man sieht 0xAA, am Terminal kommt 0x2A an. Und das
Scop sieht sogar 0x95 und 0xF5.
Gruß Mike