wenking99 发表于 2011-4-13 14:44:27

24LE1开串口中断后,无线传输不能接收数据问题

/**************************************************
功能:串口初始化子程序
说明:波特率19.2K,使用内部波特率发生器
**************************************************/
void uart_init(void)
{
    ES0 = 0;                                                      // 关UART0中断
    REN0 = 1;                                                     // 允许接收
    SM0 = 0;                                                      // 串口模式1,8bit可变波特率
    SM1 = 1;                  
    PCON |= 0x80;                                               // SMOD = 1(倍率)
    WDCON |= 0x80;                                                // 选择内部波特率发生器
    S0CON = 0x50;                                       //方式1,SM0=0,SM1=1,SM2=0,REN=1,TB8=RB8=0
    S0RELL = 0xe6;                                                // 波特率19.2K(十进制998=十六进制0x03e6)
    S0RELH = 0x03;
    TI0 = 0;                                                                          // 清发送完成标志
    RI0 = 0;                                                                          // 清发送完成标志
    S0BUF=0x99;                                                                          // 送初值
    ES0 = 1;                                                      // 关UART0中断              
}

这是串口初始化的程序。但是一打开串口中断,最后一个语句
ES0 = 1;                                                      // 关UART0中断              

无线传输数据就收不到数据。请教大家。
是不是不能使用串口内部波特率发生器?
按道理上说,串口通讯跟无线数据传输是不相关的。

还有一个比较变态的问题
    S0BUF=0x99;                                                                          // 送初值
串口缓冲区,初始化的时候,必须要赋一个初值。

请教!!!
页: [1]
查看完整版本: 24LE1开串口中断后,无线传输不能接收数据问题