[DSP编程] SCIA中断接收程序

[复制链接]
 楼主| nikercoco 发表于 2017-7-13 11:03 | 显示全部楼层 |阅读模式
参照别人的代码,自己写了一个SCIA中断接收的程序。但是有输入信号也无法进入中断,代码如下,希望大神帮我看下,谢谢!
#include "DSP2833x_Device.h"  
#include "DSP2833x_Examples.h"  

void scia_init(void);
Uint16 scia_receive(void);
interrupt void scia_rx_isr(void);

Uint16 ReceivedChar;
Uint16 num;

void main(void)
{
   InitSysCtrl();
   InitSciaGpio();
   DINT;
   InitPieCtrl();
   IER = 0x0000;
   IFR = 0x0000;
   InitPieVectTable();

   scia_echoback_init();  
   PieVectTable.SCIRXINTA = &scia_rx_isr;
   PieCtrlRegs.PIECTRL.bit.ENPIE = 1;
   IER |= M_INT9;
   PieCtrlRegs.PIEIER9.bit.INTx1 = 1;
   EINT;
   ERTM;
    for(;;)
    {
        DELAY_US(1000L);
        num++;
    }
}

void scia_init()
{
     SciaRegs.SCICCR.all =0x0007;
    SciaRegs.SCICTL1.all =0x0001;
    SciaRegs.SCICTL2.all =0x0002;
    SciaRegs.SCICTL2.bit.TXINTENA =0;
    SciaRegs.SCICTL2.bit.RXBKINTENA =1;        // RX interrupt
    #if (CPU_FRQ_150MHZ)
          SciaRegs.SCIHBAUD    =0x0001;  // 9600 baud @LSPCLK = 37.5MHz.
          SciaRegs.SCILBAUD    =0x00E7;
    #endif
    #if (CPU_FRQ_100MHZ)
      SciaRegs.SCIHBAUD    =0x0001;  // 9600 baud @LSPCLK = 20MHz.
      SciaRegs.SCILBAUD    =0x0044;
    #endif
}

interrupt void scia_rx_isr(void)
{
    ReceivedChar = scia_receive();
    PieCtrlRegs.PIEACK.all |= M_INT9;
}

Uint16 scia_receive(void)
{
    Uint16 data;
    data = SciaRegs.SCIRXBUF.all;
    return data;
}

 楼主| nikercoco 发表于 2017-7-13 11:10 | 显示全部楼层
DSP用的是28335
太不专一 发表于 2017-7-15 10:47 | 显示全部楼层
先用示波器确定通信线上是否有数据。

可以先用查询的方式确定数据是否能正确接受,再确定中断配置是否有问题。
kingkits 发表于 2017-8-24 15:26 | 显示全部楼层
你那echoback()函数是不是有用?
我觉得这是内部测试用的。
kingkits 发表于 2017-8-24 15:27 | 显示全部楼层
 scia_echoback_init();  
y286102331 发表于 2017-9-12 13:10 | 显示全部楼层
我用的是2812,在PieVectTable.SCIRXINTA = &scia_rx_isr;语句前后加入EALLOW;和EDIS;
andyhua2000 发表于 2022-4-29 17:47 | 显示全部楼层
kingkits 发表于 2017-8-24 15:27
scia_echoback_init();  

您好,可以请问一下怎么去看懂一个工程文件吗, 小白学生初学,麻烦您了,邮箱2605347629@qq.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

1

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部