28335sci中断接收

#include "DSP2833x_Device.h"     // DSP2833x Headerfile Include File

#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File

void Init_Gpio(void)

{  EALLOW;

GpioCtrlRegs.GPAMUX1.all=0x0000;

GpioCtrlRegs.GPADIR.all=0xffff;

EDIS;

}

interrupt void Scib_init(void)

{  GpioDataRegs.GPADAT.all=ScicRegs.SCIRXBUF.all;

PieCtrlRegs.PIEACK.all=PIEACK_GROUP8;

}

void Init_Sci(void)

{

EALLOW;

InitSysCtrl();

InitSciGpio();

InitPieCtrl();

EDIS;

EALLOW;

ScicRegs.SCIHBAUD=0x01;

ScicRegs.SCILBAUD=0xe7;

ScicRegs.SCICCR.bit.SCICHAR=7;

ScicRegs.SCICCR.bit.STOPBITS=0;

ScicRegs.SCICCR.bit.PARITYENA=0;

ScicRegs.SCICTL1.bit.RXENA=1;

ScicRegs.SCICTL2.bit.RXBKINTENA=1;

PieVectTable.SCIRXINTC=&Scib_init;

ScicRegs.SCICTL1.bit.SWRESET=1;

EDIS;

DINT;

IER=0x0000;

IFR=0x0000;

PieCtrlRegs.PIECTRL.bit.ENPIE=1;

PieCtrlRegs.PIEIER8.bit.INTx5=1;

IER|=M_INT8;

EINT;

ERTM;

}

void main(void)

{  Init_Gpio();

Init_Sci();

GpioDataRegs.GPADAT.all=0xffff;

while(1);

}

时间: 2024-10-06 01:57:03

28335sci中断接收的相关文章

STM32F10x_硬件I2C主从通信(轮询发送,中断接收)

Ⅰ.写在前面 关注我分享文章的朋友应该知道我在前面讲述过(软件.硬件)I2C主机控制从机EEPROM的例子.在I2C通信主机控制程序是比较常见的一种,可以说在实际项目中,很多应用都会使用到I2C通信.但在实际项目中作为I2C从机的应用相对要少的多,本文主要讲述关于[STM32F10x_硬件I2C主从通信]中STM32作为从机的例子. 在学习本问内容之前,如果对I2C协议还不太了解的朋友请先去了解一下I2C协议,或看我之前关于I2C通信的文章(我微信公众号和博客都有). 关于STM32硬件I2C作

利用串口空闲中断接收数据

1 void USART2_IRQHandler(void) 2 { 3 // 使能串口空闲中断 4 USART_ITConfig(USART2, USART_IT_IDLE , ENABLE); 5 6 if(USART_GetITStatus(USART2,USART_IT_RXNE)==SET) 7 { 8 9 rx_buf[cnt]=USART_ReceiveData(USART2); 10 rx_rxbuf[cnt] = rx_buf[cnt] ;//把接收到的数组存到备用的数组当中,

STM32F429基于CUBEMX的串口中断接收

今天要来介绍一下HAL库的串口中断使用方法 首先打开CUBEMX,新建一个STM32工程,博主建立的是F429工程,然后在图形界面中打开一个USART,这里我们使用USART1. 然后进入配置configguration 基本的参数都不用修改,在NVIC中,大概中断使能 然后生成工程即可,打开工程文件.这里要解释一下串口中断接收: 关于串口接收中断 用CUBEMX生成的工程文件中,先开启接收中断使能 __HAL_UART_ENABLE_IT(uartHandle, UART_IT_RXNE);并

28335scififo中断接收与发送

#include "DSP28x_Project.h"// Device Headerfile and Examples Include File interrupt void scibTxFifoIsr(void);//fifo发送中断函数 interrupt void scibRxFifoIsr(void);//fifo接收中断函数 void scib_fifo_init(void);//scib fifo模式 初始化函数 char buffer [100];//数据缓冲数组 vo

F4107单进程处理多个usart中断接收到的数据

解决:Cortex-M4上,usart自动发送数据方案. 1. usart中断太快.数据还没有处理完.usart中断就会把没处理完的数据上该覆盖掉.导致数据丢失. 2.这程序需要在main中处理4个usart口的数据,这样出错的概率会更大. 提出如下解决方案: 第一:规定每条完成的数据长度,步会超过256字节. 第二:我们规定数据的结束表标志为数据的后三位为,FFFFFF 第三:定义一个全局的数据,他是一个三维数组该数据用来存放4个usart口发上来的数据. uint8_t usart_data

USART中断接收程序

//usart.h #ifndef __USART_H__ #define __USART_H__ #include "stm32f10x.h" #include <stdio.h> void GPIO_Configuration(void); void NVIC_Configuration(void); void USART_Configuration(void); #endif //usart.c #include "usart.h" //加入以下代

Stm32L0串口中断接收使用

最新在做LoRa的项目,使用的是STM32L072和SX1276,需要做一个串口透传模块,刚开始做demo的时候不考虑功耗,所以串口发送和接收直接使用下列函数执行: HAL_UART_Transmit(&Sensor_UartHandle,(unsigned char *)&readcommand, sizeof(vcom_read_command_t), VCOM_START_DELAY); HAL_UART_Receive(&Sensor_UartHandle,(unsigne

stm32RS485串口通信——中断接收发送数据

功能:通过PC机的串口调试助手发送数据给串口A,串口B接收到串口A发送的数据,再由串口B将接收到的数据返回给PC机的串口调试助手. PC->串口A->串口B->PC. 实验平台:stm32f407 /********************************************************************* 本平台具有六个串口: com1  485 com2 com3  232 需一个管脚控制DTU com4 485 com5  调试串口  TTL com6

ucos-iii串口用信号量及环形队列中断发送,用内建消息队列中断接收

串口发送部分代码: //通过信号量的方法发送数据 void usart1SendData(CPU_INT08U ch) { OS_ERR err; CPU_INT08U isTheFirstCh; OSSemPend(&Usart1Sem, 0, OS_OPT_PEND_BLOCKING, NULL, &err);//阻塞型等待串口发送资源 OSSemPend(&Usart1TxBufSem, 0, OS_OPT_PEND_BLOCKING, NULL, &err);//阻