在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 5120|回复: 3

[原创] DSP2812的SCI程序有什么问题?

[复制链接]
发表于 2007-3-13 22:15:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 cjsb37 于 2013-4-29 09:08 编辑

#include "DSP281x_Device.h"
#include "DSP281x_Examples.h"

void scia_init(void);
void fifo_init(void);
interrupt void scia_rx_isr(void);
interrupt void scia_tx_isr(void);

char message[]={"this is 2812.\n\r"};

void main(void)
{   
    InitSysCtrl();
   
    EALLOW;
    GpioMuxRegs.GPFMUX.all=0x0030;
    EDIS;

    DINT;
    IER = 0x0000;
    IFR = 0x0000;

    InitPieCtrl();   
    InitPieVectTable();  

    EALLOW;
    PieVectTable.TXAINT=&scia_tx_isr;
    PieVectTable.RXAINT=&scia_rx_isr;
    EDIS;

    PieCtrlRegs.PIEIER9.bit.INTx2=1;
    PieCtrlRegs.PIEIER9.bit.INTx1=1;

   IER|=M_INT9;
   EINT;
   ERTM;
   
    fifo_init();
    scia_init();  
  
    while(1)
   {
   }
}

void scia_init()
{   
   
    SciaRegs.SCICCR.all =0x0007;   
                                   
    SciaRegs.SCICTL1.all =0x0003;
    SciaRegs.SCICTL2.all =0x0003;
     
    SciaRegs.SCIHBAUD    =0x0001;
    SciaRegs.SCILBAUD    =0x00e7;
   
    SciaRegs.SCICTL2.bit.TXINTENA =1;
    SciaRegs.SCICTL2.bit.RXBKINTENA =1;
    SciaRegs.SCICCR.bit.LOOPBKENA =0;
   
    SciaRegs.SCICTL1.all =0x0023;
    //SciaRegs.SCICTL1.bit.SWRESET =1;   
}

void fifo_init()
{
    SciaRegs.SCIFFTX.all =0xC060;
    SciaRegs.SCIFFRX.all =0xE065;
    SciaRegs.SCIFFCT.all =0x0000;
}

interrupt void scia_tx_isr(void)
{
int i;
for(i=0;i<16;i++)
SciaRegs.SCITXBUF=message;
    PieCtrlRegs.PIEACK.all=PIEACK_GROUP9;
}

interrupt void scia_rx_isr(void)
{
int i;
char buffer[16];
for(i=0;i<16;i++)
buffer=SciaRegs.SCIRXBUF.all;
if(strncmp(buffer,"who is there?",13)==0)
{
  SciaRegs.SCIFFTX.bit.TXFIFOXRESET=1;
        SciaRegs.SCIFFTX.bit.TXINTCLR=1;
}
    SciaRegs.SCIFFRX.bit.RXFIFORESET=0;
    SciaRegs.SCIFFRX.bit.RXFIFORESET=1;
SciaRegs.SCIFFRX.bit.RXFFINTCLR=1;
PieCtrlRegs.PIEACK.all=PIEACK_GROUP9;
}

程序编译和运行都能通过,为什么用串口小助手却收不到DSP发的信息呢?请高手指点!非常感谢!
还可以发送到我的邮箱里:tsangjoewong@163.com






头像被屏蔽
发表于 2007-3-23 13:17:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-12-4 16:30:54 | 显示全部楼层

我认为

你这个程序不是直接就能在串口中收到吧,先给DSP发送Who is there?然后才能收到This is DSP2812
发表于 2011-6-23 21:05:40 | 显示全部楼层
strncmp写成strcmp即可了,很多书中给的都是strncmp,但是我试验了很多次,发现不对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-8 22:59 , Processed in 0.033771 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表