snail0204 发表于 2010-1-9 16:51:11

DSP2407SCI接收接收串口调试助手多个字节时,出错的问题

程序在接受串口调试助手单个字节时是正确的,一次接受多个字节(准备写MODBUS需要接受多个字节)是出现错误,搞了半天不知道怎么回事。
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_524317.png
(原文件名:QQ截图未命名.png)
如果按上图的方式发出两个字节,DSP的接收中断会不会来不及处理?

snail0204 发表于 2010-1-9 16:55:11

/***********************************************
//函数功能:SCI接收中断服务子程序
//输入参数:
//输出参数:
//注意:When a new character is ready to be read from the SCIRXBUF register
***********************************************/
void RXINT_ISR(void)
{
        //unsigned char i;
        //i = *SCIRXBUF;//接收串口的数据放在临时寄存器中
       
        //如果帧数据结束(Modbus.re_ok==1)或者接收数据个数大于定义的缓冲区大小
        //if( Modbus.re_ok || (Modbus.re_count >= TX_BUFFER_LENGTH))
        //        Modbus.re_count = 0;
        //else
        //        {
        Modbus.re_buf = *SCIRXBUF;//接收缓冲区增加一个数据
        Modbus.re_count++;
        //while(!TestBit0(*SCIRXST,6));
        //Modbus.re_buf = *SCIRXBUF;
        //Modbus.re_count++;
        //        }
        //*T1CNT = 0x0000;      /*定时器的计数初值 */
}
/***********************************************
//函数功能:
//输入参数:
//输出参数:
//注意:
***********************************************/
interrupt void GISR1(void)
{
        switch(*PIVR)
        {
                case 0x0006:
                        RXINT_ISR();
                        break;
                case 0x0007:
                        TXINT_ISR();
                        break;
                default:
                        break;
        }
}

snail0204 发表于 2010-1-9 16:55:44

做过的朋友帮看一下

snail0204 发表于 2010-1-11 09:40:53

问题已解决,由于我DSP使能了奇校验,调试助手没有使能,教训啊

keen9327 发表于 2011-7-25 11:26:23

mark
页: [1]
查看完整版本: DSP2407SCI接收接收串口调试助手多个字节时,出错的问题