PIC24FJ128GA010 Uart无法正常工作

时间:2015-10-23 13:27:28

标签: uart mplab pic24 xc16

我在资源管理器16板上使用上面提到的pic控制器。我正在尝试配置UART,但它无法正常工作 我的代码看起来像这样。

enter code here
#define Bit8_No_Parity          0x00
#define Bit8_E_Parity           0x01
#define Bit8_O_Parity           0x10

#define Stop_Bits_1             0
#define Stop_Bits_2             1


U2MODEBITS U2mode;
U2STABITS  U2Sta;

void Uart2_Init()
{
    U2BRG = 207;            // 9600 for 8 mhz
    U2MODE = 0x8000;
    U2STA  = 0x8400;
    U2mode.PDSEL = Bit8_No_Parity ;

    U2mode.STSEL = Stop_Bits_1;
    U2mode.BRGH = 1;


    U2Sta.UTXISEL1 = 1;
    U2Sta.UTXISEL0 = 0;
    U2mode.UARTEN  = 1;

    U2Sta.UTXEN    = 1;




 }


void Transmit_Byte(UCHAR_8 byte)
{
   while(U2Sta.UTXBF != 0 );
   U2TXREG = byte;

}

以上代码无效。我只在我的主文件中初始化配置位和Uart初始化函数。 寻求帮助。

此致 SANKET

1 个答案:

答案 0 :(得分:0)

您似乎使用寄存器布局(U2MODEBITS,U2STABITS)定义变量(U2mode,U2sta),而不是使用任何标头中的预定义寄存器定义。

这意味着没有任何内容写入寄存器,因此没有任何反应。删除声明并写入全部大写的寄存器的实际位版本(C区分大小写!)U2STATBITS,U2MODEBITS。这些将uint大小的U2STA和U2MODE覆盖在内存中,因此您可以将它们混合写入。