5893|6

82

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求助关于2812串口发送数据的问题! [复制链接]

我最近开始学习DSP2812,手上有合重达的2812开发板,在测试串口例程时,按照用户指南上的步骤做,但PC机不能接收到数据,我就自己弄了个用DSP发送数据的程序,就想看下PC能接收到数据不?

现在的问题是用在PC上用串口提示助手能够接收到数据,但是误码,不知道为什么,那位高手给指点一下,感激!一个人摸索实在太熬人了!

下面是我的程序!
#include \"DSP28_Device.h\"

//子程序原型
void scia_init(void);
unsigned int Send_Flag;
unsigned int Sci_VarRx[100];
unsigned i,j;
void main()
{  
    //Step1:初始化系统控制寄存器,PLL,看门狗,时钟位默认状态
    //参照DSP28_SysCtrl.c
    InitSysCtrl();
   
    //Step2:设置GPIO功能
    EALLOW;
    GpioMuxRegs.GPFMUX.all=0x0030;        //设置相应的引脚为SCI引脚
                                          //设置口FMUX-x000 0000 0011 0000
    EDIS;
   
    //Step3:初始化中断向量表(PIE向量表)
    //参照DSP28_PieVect.c文件
    InitPieVectTable();
   
    //Step4:禁止和清除所有CPU中断
        DINT;
        IER=0x0000;
        IFR=0x0000;
       
        //Step6:重新分配中断向量,使能中断
       
        scia_init();        //初始化SCI-A
       
        //Step7:使用DSP向计算机发送数据,用串口调试助手观察现象
        for(j=0;j<100;j++)
        {
           SciaRegs.SCITXBUF = 55;
           while(SciaRegs.SCICTL2.bit.TXRDY == 0)
           {}
        }
        SciaRegs.SCICTL1.bit.TXENA = 0;
}
       
//SCIA串口初始化程序,DLB,8位字,通讯速率设置为0x000F(默认值),
//1个停止位,无校验位
void scia_init()
{
        //系统时钟及其他初始化函数在InitSysCtrl()中实现
            
        SciaRegs.SCICCR.all = 0x0007;        //一个停止位,禁止字测试模式
                                                                    //无校验,8位字符
                                                                    //异步模式,采用空闲线协议
                                                                                   
        SciaRegs.SCICTL1.all = 0x0003;        //使能TX,RX引脚和SCICLK
                                                                    //禁止RX ERR,SLEEP,TXWAKE
                                                                                   
        SciaRegs.SCICTL2.all = 0x00000;        //禁止TXRDY、RXRDY/BRKDT中断
            
        SciaRegs.SCIHBAUD = 0x0000;                //19200 sysclk=150MHz
        SciaRegs.SCILBAUD = 0x00F3;                //LSPCLK时钟频率37.5MHz
            
        SciaRegs.SCICCR.bit.LOOPBKENA = 0;        //禁止字测试模式
        SciaRegs.SCICTL1.all = 0x0023;                //使SCI退出复位状态
       
        PieCtrl.PIEIER9.bit.INTx1 = 1;        //使能SCIA接收中断
        PieCtrl.PIEIER9.bit.INTx2 = 1;        //使能SCIA发送中断
}

最新回复

楼主 你接受00的问题解决没有  我也遇到一样的问题了。。。  详情 回复 发表于 2013-7-25 15:02
 
点赞 关注

回复
举报

61

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
还有就是有时候程序运行的时候,串口调试助手的接收窗口一直不断接收到 00,停不下来,即使退出程序,不知道咋回事,有遇到过类似情况的吗?
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
没人帮我看看吗?高手麻烦指点一下!
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

4
 
直接用示波器看看波形对不对就行了。假如波形正确,接受不正确,那肯定是设置的问题。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

5
 
假如波形不正确,那估计是你SCI设置的问题。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 
怎么知道波形是否正确呢?
 
 
 

回复

145

帖子

2

TA的资源

一粒金砂(高级)

7
 
楼主 你接受00的问题解决没有  我也遇到一样的问题了。。。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 2/10 下一条
TI 处理器AM62L深度讲解,报名直播赢【双肩包、充电器、胶囊伞】
【直播要点】• 如何实现安全节能设计;• 开箱体验和demo;• 软件和硬件
【直播时间】3月21日(周五)上午10:00

查看 »

 
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
快速回复 返回顶部 返回列表