搜索
bottom↓
回复: 4

请教,用DSPIC33FJ32MC202的RB4做RX脚,遇到的问题

[复制链接]

出0入0汤圆

发表于 2014-2-15 17:55:28 | 显示全部楼层 |阅读模式
在下用DSPIC33FJ32MC202的RB3做TX,查询发送;RB4做RX,中断接收;现在是发送正常.遇到的问题是,UART1
初始化后,上位机没有发送数据,DSPIC33FJ32MC202居然会跳入接收中断,且U1STAbits.URXDA =1,

void Init_Uart1(void)
{
        U1MODEbits.STSEL = 0;         // 1-stop bit
        U1MODEbits.PDSEL = 0;        // No Parity, 8-data bits
        U1MODEbits.UEN = 0;                 
        U1MODEbits.ABAUD = 0;         // Auto-Baud Disabled
        U1MODEbits.BRGH = 0;         // Low Speed mode
        U1MODEbits.URXINV = 1;        // RX空闲时=0        
        U1STAbits.URXISEL = 0;        // Interrupt after four RX character is received;

        IEC0bits.U1RXIE = 1;                // UART1接收中断使能  
        IFS0bits.U1RXIF = 0;                  // 复位接收中断标志位   
       
        U1MODEbits.UARTEN = 1;         // Enable UART

        U1STAbits.UTXEN = 1;                           
        IFS0bits.U1TXIF = 0;                            
}

void __attribute__((interrupt, no_auto_psv)) _U1RXInterrupt (void)
{       
        static unsigned int RX_count;
       
        IFS0bits.U1RXIF = 0;  
        if(U1STAbits.URXDA == 1)   
            {
                Rxdata[RX_count] = U1RXREG;             // 接收数据并存储  
                RX_count++;                        // 接收计数器加1  

                if(RX_count > 7)                          // 如果已经接收到8个数据  
                {  
                        RX_count = 0;                // 接收计数器清0  
                        U1DataFlags.Byte.Data_OK = 1;           // 置接收到数据标志            
                }
        }
}

如果上位机发8个字节的数据,程序能正常接收,就是收到的都是0.百思不得其解,向各位请教.谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2014-2-24 12:25:42 | 显示全部楼层
可以一步一步软仿一下,先看看发送寄存器、接收寄存器的值和想发的值一样,如果发送寄存器都没有数据,那就是没有发出去,就不是接收0的问题

出0入0汤圆

发表于 2014-2-25 17:58:30 来自手机 | 显示全部楼层
你把这个脚的ad功能禁用了没有?

出0入0汤圆

 楼主| 发表于 2014-3-4 18:23:16 | 显示全部楼层
多谢二位大哥的支持,ad功能禁用了,还不行,用仿真机查,发现能接受,就是第一个字节收不到.总感到DSPIC的片子好难用哦.谢谢!

出0入0汤圆

发表于 2014-4-16 14:58:07 | 显示全部楼层
   顶一下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-21 20:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表