Subversion Repositories Code-Repo

Rev

Rev 231 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 231 Rev 234
Line 36... Line 36...
36
//    U1BRG     = 21;         // Set baud rate to 921600 @ 80MHz (1.36% error)
36
//    U1BRG     = 21;         // Set baud rate to 921600 @ 80MHz (1.36% error)
37
    
37
    
38
    IEC0SET   = 0x0C000000; // Enable the RX and Error interrupts
38
    IEC0SET   = 0x0C000000; // Enable the RX and Error interrupts
39
 
39
 
40
    INTEnableInterrupts();
40
    INTEnableInterrupts();
41
 
-
 
42
    TRISDbits.TRISD14 = 0;
-
 
43
    PORTDbits.RD14 = 0;
-
 
44
}
41
}
45
 
42
 
46
uint8_t UART1_Write(uint8_t *string, uint32_t length) {
43
uint8_t UART1_Write(uint8_t *string, uint32_t length) {
47
    if (length > UART1_BUFFER_SIZE)
44
    if (length > UART1_BUFFER_SIZE)
48
        return 0;
45
        return 0;
Line 59... Line 56...
59
    IEC0SET = 0x10000000; // Enable TX interrupt
56
    IEC0SET = 0x10000000; // Enable TX interrupt
60
    return 1;
57
    return 1;
61
}
58
}
62
 
59
 
63
void __ISR(_UART_1_VECTOR, ipl2) __UART_1_Interrupt_Handler(void) {
60
void __ISR(_UART_1_VECTOR, ipl2) __UART_1_Interrupt_Handler(void) {
64
    PORTDbits.RD14 = 1;
-
 
65
    // Process UART1 error flag
61
    // Process UART1 error flag
66
    if (IFS0bits.U1EIF) {
62
    if (IFS0bits.U1EIF) {
67
        if (U1STAbits.PERR) { // Process parity error
63
        if (U1STAbits.PERR) { // Process parity error
68
 
64
 
69
        }
65
        }
Line 104... Line 100...
104
                    break;
100
                    break;
105
            }
101
            }
106
        }
102
        }
107
        IFS0CLR = 0x10000000; // Clear the transmit flag
103
        IFS0CLR = 0x10000000; // Clear the transmit flag
108
    }
104
    }
109
    PORTDbits.RD14 = 0;
-
 
110
}
105
}
111
106