我使用双UART口,可是却不能发送!<br />与UART口相关的代码如下:<br /><br />#include "p24FJ32GA004.h"<br />#define _P24FJ32GA004<br /><br />//使用通讯管脚<br />//URT1RE ->pin1 ->RP9<br />//URT1RX ->pin2 ->RP22<br />//URT1TX ->pin3 ->RP23<br /><br />//URT2RE ->pin9 ->RP11<br />//URT2RX ->pin10 ->RP12<br />//URT2TX ->pin11 ->RP13<br /><br />void initialization()<br /> {<br /><br /> RPINR18 = 22;<br /> RPINR19 = 12;<br /> RPOR6 = 0x0500; // UART2 发送 映射到RP13<br /> RPOR11 = 0x0300; // UART1 发送 映射到RP23<br /><br /> AD1PCFG = 0xFFFF;<br /><br /> U1BRG = 38; // Fcy=12MHz, 19200bps<br /> U1MODE = 0;<br /> U1STA = 0;<br /> <br /> U1MODEbits.UARTEN = 1;<br /> U1STAbits.UTXEN = 1;<br /> IEC0bits.U1RXIE = 1;<br /> IEC0bits.U1TXIE = 1;<br /> //IPC2bits.U1RXIP = 0;<br /> //IPC2bits.U1TXIP = 0;<br /> _U1TXIP = 0;<br /><br /> U2BRG = 38; // Fcy=12MHz, 19200bps<br /> U2MODE = 0;<br /> U2STA = 0;<br /> <br /> U2MODEbits.UARTEN = 1;<br /> U2STAbits.UTXEN = 1;<br /> IEC1bits.U2RXIE = 1;<br /> IEC1bits.U2TXIE = 1;<br /> //IPC2bits.U1RXIP = 0;<br /> //IPC2bits.U1TXIP = 0;<br /> _U2TXIP = 0;<br /><br /> }<br /><br />void __attribute__((__interrupt__,no_auto_psv)) _U1TXInterrupt(void)<br /> {<br /> //************************************ /<br /> //UART1TX Uart 1 发送器<br /> //*********************************** /<br /> if(_U1TXIF)<br /> //if(IFS0bits.U1TXIF)<br /> {<br /> _U1TXIF = 0;<br /> U1TXREG = 0XAA; //测试<br /> }<br /> }<br /><br />void __attribute__((__interrupt__,no_auto_psv)) _U2TXInterrupt(void)<br /> {<br /> //************************************ /<br /> //UART2TX Uart 2 发送器<br /> //************************************ /<br /> if(_U2TXIF)<br /> {<br /> _U2TXIF = 0;<br /> U2TXREG = 0xaa; // 测试<br /> }<br /> }<br /> |
|