5879|5

4

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

急求UART问题!!!!! [复制链接]

紧急求助!!!!哪位高手指点一下,问题到底在哪里!!!谢谢了!!!

我用PIC24F16KA102单片机的UART1做串口通信程序,现在有个很棘手的问题:可以发送出去,但是接收不了(接收状态标志没有,也没有产生中断)。

下面是我的设置和接收程序:

void uart1_init(void)
{
 IEC0bits.U1RXIE = 0;   //Disable Receive Interrupt 
 IEC0bits.U1TXIE = 0;   //Disable Receive Interrupt 
 U1STAbits.UTXEN = 0;   //Disable Transmit
 U1MODEbits.UARTEN = 0;   //Disable uart1 

 U1BRG = 51;      //FCY/(16*2400)-1=51.083

 IPC3bits.U1TXIP = 5;   // 设置uart1接收中断优先级为5
 IPC2bits.U1RXIP = 5;   // 设置uart1接收中断优先级为5

 U1STA = 0;

 U1MODE = 0x8000;     //Enable Uart for 8-bit data,no parity,1 STOP bit,wake enabled 
 Nop();Nop();
 U1STAbits.UTXEN = 1;   //Enable Transmit

 U1STAbits.URXDA = 0;
 IFS0bits.U1TXIF = 0;            // 清UART1发送中断标志位
 IFS0bits.U1RXIF = 0;            // 清UART1接收中断标志位
 
 IEC0bits.U1RXIE = 1;   //Enable Receive Interrupt
}

 

void __attribute__((interrupt,no_auto_psv)) _U1RXInterrupt(void)
{

   IFS0bits.U1RXIF = 0;                        // 清UART1接收中断标志位
 
  if(uart1_rec_counter < 10)
  {
      uart1_rec_buffer[uart1_rec_counter] = U1RXREG;     // 接收数据
      uart1_rec_counter++;                    // 接收数据计数器加1
   
  }
  else
  {
   uart1_rec_counter = 0;                    // 接收数据计数器加1
   break;
  }

 

  if(U1STAbits.OERR)

    U1STAbits.OERR = 0;

 U1MODE = 0x8000;     //Enable Uart for 8-bit data,no parity,1 STOP bit,wake enabled 
 Nop();Nop();
 U1STAbits.UTXEN = 1;   //Enable Transmit
 IEC0bits.U1RXIE = 1;   //Enable Receive Interrupt
}

 

紧急求助!!!!哪位高手指点一下,问题到底在哪里!!!谢谢了!!!

最新回复

用示波器查看,是否有数据到RX PIN,若是EUART发送完后,要将总线接高,RX才能够收到。。   贝能电子 QQ:369015460  详情 回复 发表于 2011-4-16 14:24
点赞 关注
 

回复
举报

4

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

回复 楼主 hbkmcq 的帖子

??????????
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
还没人看啊!!!急啊 !!
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

4
 
??????????????????????
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 

我也遇到了

请问楼主解决了没有
 
 
 

回复

17

帖子

0

TA的资源

一粒金砂(中级)

6
 

用示波器查看,是否有数据到RX PIN,若是EUART发送完后,要将总线接高,RX才能够收到。。

 

贝能电子

QQ:369015460

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表