打印
[DSP编程]

关于dsp f2812 SCI fifo模式收发数据的问题。

[复制链接]
5130|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sias1990|  楼主 | 2015-1-8 23:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
sias1990|  楼主 | 2015-1-8 23:30 | 只看该作者
#include "DSP28_Device.h"

char buffer[100];

void main(void)
{
  int i = 0;
  InitSysCtrl();
  DINT;
  IER = 0x0000;
  IFR = 0x0000;

  InitPieCtrl();
  InitPieVectTable();
  InitGpio();
  InitSci();

  for(i=0;i<100;i++)
  {
    buffer[i] = 0;
  }
  PieCtrl.PIEIER9.bit.INTx1 = 1; //ʹ��pieģ����sci�Ľ����ж�
  PieCtrl.PIEIER9.bit.INTx2 = 1; //ʹ��pieģ����sci�ķ����ж�

  IER |= M_INT9;
  ERTM;
  EINT;

for(;;)
  {
    ;
  }
}


*******************************************************************************************************************DefaultIsr.c********************************************

interrupt void SCIRXINTA_ISR(void)     // SCI-A�����жϺ���
{
  int j;
  for(j=0;j<8;j++)
  {
    buffer[j] = SciaRegs.SCIRXBUF.all;
  }
  if(strncmp(buffer,"hellodsp",8) == 0)
  {
    SciaRegs.SCIFFTX.bit.TXINTCLR = 1;
  }
  SciaRegs.SCIFFRX.bit.RXFIFORESET = 0;
  SciaRegs.SCIFFRX.bit.RXFIFORESET = 1;
  SciaRegs.SCIFFRX.bit.RXFFINTCLR = 1;
    PieCtrl.PIEACK.bit.ACK1 = 1;
}

interrupt void SCITXINTA_ISR(void)     // SCI-A�����жϺ���
{
  int _j;
  for(_j=0;_j<8;_j++)
  {
    SciaRegs.SCITXBUF = buffer[_j];
  }
    PieCtrl.PIEACK.bit.ACK1 = 1;
}

使用特权

评论回复
板凳
sias1990|  楼主 | 2015-1-8 23:32 | 只看该作者
请路过的大神,帮忙解答下。。。。。先先谢过了。。。程序如上

使用特权

评论回复
地板
sias1990|  楼主 | 2015-1-9 08:05 | 只看该作者
自己顶一下。没有人遇见类似问题吗

使用特权

评论回复
5
wei3890836| | 2015-1-9 11:33 | 只看该作者
发送中断进入的前提条件是scitxbuf中有数据进入,你把向scitubuf写入数据放在发送中断里当然进不去了,一般情况下需要预先发送数据到scitubuf,启动发送中断。
另外,我之前也遇到这种问题,现在办法是接收中断,发送轮询的方法

使用特权

评论回复
6
sias1990|  楼主 | 2015-1-10 00:09 | 只看该作者
wei3890836 发表于 2015-1-9 11:33
发送中断进入的前提条件是scitxbuf中有数据进入,你把向scitubuf写入数据放在发送中断里当然进不去了,一般 ...

谢谢你回帖。你说的没错,不过它适用于标准模式下,在接受中断里事先发送数据到txbuff,开启动发送中断。但是在fifo模式下不用的,我设置它的中断触发级为0,就可以在一开始就产生发送中断。今天我发现了哪里出错了,原因在使用strncmp函数那点出错了,把if判断条件啥的都删了,只留里面的那个语句,就不会出错了。虽然可以正常收发了,但是,我现在还是有疑惑,我那个strncmp判断部分怎么出错了。你有什么见解吗?

使用特权

评论回复
7
杉树林罗| | 2015-3-2 21:50 | 只看该作者
“strncmp”,这个得添加“string.h”这个头文件吧

使用特权

评论回复
8
luospring123| | 2015-3-13 09:05 | 只看该作者
有例程的,可以参考那个,很不错

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

13

帖子

0

粉丝