微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > cc3200串口中断接收一帧数据

cc3200串口中断接收一帧数据

时间:10-02 整理:3721RD 点击:

如题,我想请教一下cc3200有没有一帧数据接收完成中断,我在查看中断标志发现有如下定义

#define UART_INT_EOT            0x800       // End of transfer interrupt Mask

但是经测试一帧数据接受完不会产生此中断,请问一下这个不是帧中断还是我有未使能的地方。

如果有人知道请给一个完整的接收一帧数据中断的历程,不胜感激!

试试传输一个以EOF文件结束标志的文件是不是可以触发这个中断

CC3200的串口有一个FIFO 最低需要接收到2个Bytes后才能产生串口中断,如果想使用一个Byte进行中断处理,需要在初始化中将UART的FIFO关闭掉,不要使用串口FIFO缓存单元,并且可以打开超时检测。

HI,Huiyu

串口初始化中失能FIfo :UARTFIFODisable(UARTA0_BASE);

设置RX中断:UARTIntEnable(UARTA0_BASE,UART_INT_RX);

注册中断函数:UARTIntRegister(UARTA0_BASE,uart_handle);

中断函数:

void uart_handle(void)

{

        int i;

         i=UARTIntStatus(UARTA0_BASE,ture);

         if(i&UART_INT_RX)

        {

            while(UARTCharAvail(UARTA0_BASE)){

             UARTCharPut(UARTA0_BASE,UARTCharGet(UARTA0_BASE));

           }

          UARTIntClear(UARTA0_BASE,UART_INT_RX);

         }

}

如果有误,请谅解,以官网SDK为准

我要传输的不是文件,我需要板间通信

谢谢,我试试

这个只能接受一个字节,但是我想接受一组。

HI,huiyu

你可以定义一个buff[BUF_SIZE],把数据储存起来,具体怎么校验是你的具体问题。

谢谢!

如果你要接收一组数据后进入串口中断,建议打开uart的FIFO,该FIFO最大支持16Bytes的缓存数据后进入UART中断,

UART:

Separate 16x8 transmit (TX) and receive (RX) FIFOs to reduce CPU interrupt service loading

您好,我使用fifo时候遇到了一点问题,请教一下。我把fifo设置为4字节,中断确实触发了。也是一下接收到了四个字节数据,但是比如我发送6个字节数据时候,中断会触发一次,接收到四个字节,剩余两个暂时收不到,等待我下次在发送6个字节时候,上次的两个和这次的前两个字节到一起触发一次,后面四个字节触发了一次中断。这样一来数据都乱了。请问怎么设置才可以一下子读取出六个字节(在我fifo为四个字节情况下)。

因为如果我发送的数据长度不定。请指教

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top