Hallo,
ich habe eine Schaltung mit CAN-Interface und Usart-Interface.
CANBUS funktioniert
USART funktioniert auch.
aber wenn ich ein USART-Signal(Byte) bekomme dann wird das PIR3.IRXIF
gesetzt. Ist so ein Problem bekannt?
eigentlich sollte nach dem eingang einer Uart-Nachricht eine
Can-Nachricht verschickt werden... aber durch den Error kommt es dazu
erst gar nicht. ich kann nur überhaupt nicht nachvollziehen wo da die
Verbindung bestehen soll, an der es dann zu diesem Problem kommt
mfg Christoph
1 | void interrupt ISR ()
|
2 | {
|
3 | INTCONbits.GIE = 0;
|
4 | if (PIR1bits.RCIF == 1) // USART
|
5 | {
|
6 | // USARTrecieved = 1;
|
7 | // Befehl = RCREG; // Auslesesn des USART-Puffers
|
8 | RCREG = 0; // USART-Puffer löschen
|
9 | PIR1bits.RCIF = 0; // Puffer-full-bit wieder löschen!
|
10 | }
|
11 |
|
12 | if (PIR3bits.IRXIF == 1); // CAN BUS ERROR
|
13 | {
|
14 | PIR3bits.IRXIF = 0;
|
15 | Fehler = !Fehler;
|
16 | TXREG = 0x01;
|
17 | }
|
18 |
|
19 | INTCONbits.GIE = 1;
|
20 | }
|