Hallo,
Habe ein Problem mit meiner UART Schnittstelle von meinem PIC24F32KA302.
Kurz zur Aufgabe: Ich versuche ganz simpel eine Verbindung zwischen PC
und µC über ein Bluetooth-Modul (RN42) aufzubauen. Als Terminal Programm
verwende ich AccesPORT137. Es funktioniert bereits die Daten vom
Hyperterminal in den µC zu senden und diese kommen da auch richtig an.
Das Problem ist das senden, denn es kommt nicht einmal irgendwelcher
Blödsinn an sondern es kommt einfach gar nichts. Ich bin mir zudem
sicher das erst garnichts vom µC ausgeht (TX-Pin) da ich mit dem Oszi
hier nichts messen kann.
Hier die UART Initialisierung:
1 | void UART1_Init(void)
|
2 | {
|
3 | TRISBbits.TRISB7 = 0; //TX als Output definieren
|
4 | TRISBbits.TRISB2 = 1; //RX als Input definiern
|
5 |
|
6 | U1MODEbits.BRGH = 0;
|
7 | U1BRG = 25; //9600Baud
|
8 |
|
9 |
|
10 | //Interrupt Flags
|
11 | IFS0bits.U1RXIF = 0;
|
12 | IFS0bits.U1TXIF = 0;
|
13 |
|
14 | //Interrupts Enablen
|
15 | IEC0bits.U1RXIE = 1;
|
16 | IEC0bits.U1TXIE = 1;
|
17 |
|
18 | U1STAbits.UTXEN = 1; //Transmit aktivieren
|
19 |
|
20 | U1MODEbits.UARTEN = 1; //Uart aktivieren
|
21 | }
|
Hier meine Main ich will nur einmal irgendwelche Daten empfangen und
habe deshalb das mal so gemacht:
(diese delay.. ist im programm mit einem Zähler realisiert nur gibt es
hier probleme mit der formatierung der klammern allerdings spielt dies
ja keine rolle)
1 | int main(void)
|
2 | {
|
3 | PWM_Init();
|
4 | Init();
|
5 | UART2_Init(); //GPS-Modul
|
6 | UART1_Init(); //Bluetooth modul
|
7 |
|
8 |
|
9 | while(1)
|
10 | {
|
11 | delay...
|
12 | U1TXREG = '&';
|
13 |
|
14 | return 0;
|
15 | }
|
Ich hoffe das ist alles was ihr braucht um meinen hoffentlich
stümpferhaften fehler aufzudecken.
Danke