0
#define InitUART( BRGVal, BRGHighVal )      {                       \
                        UARTTxD = UARTTxDInit;                  \
                        DirUARTTxD = DirOutput;                 \
                        DirUARTRxD = DirInput;                  \
                        SPBRG2 = BRGVal;                        \
                        TXSTA2bits.BRGH = BRGHighVal;           \
                        TXSTA2bits.SYNC = 0;                    \
                        TXSTA2bits.TX9 = 0;                     \
                        TXSTA2bits.TXEN = 1;                    \
                        RCSTA2bits.SPEN = 1;                    \
                        RCSTA2bits.RX9 = 0;                     \
                        IPR3bits.RC2IP = 1;                     \
                        IPR3bits.TX2IP = 0;                     \
                        PIE3bits.TX2IE = 0;                     \
                        PIE3bits.RC2IE = 1;                     \
                        RCSTA2bits.CREN = 0;                    \
                        }

最後の行については、PIC18LF6722 を使用する RECEIVE ENABLE FLAG をクリアする理由がわかりません

4

1 に答える 1

0

CREN は連続受信イネーブル ビットです。これは、非同期モードの受信ルーチンでは、受信バッファがいっぱいになると常にクリアされ、UART 文字の連続受信が可能になることを意味します。同期モードでは、PIC のデータシートで確認できる他の目的に使用されます。

于 2014-07-14T11:37:17.057 に答える