在线时间0 小时
UID286517
ST金币0
蝴蝶豆0
注册时间2011-4-28
新手上路
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2012-11-13 12:34:43
|
显示全部楼层
a0a.1 0b0c
回复:想问一个串口DMA的问题。
刚刚一直用快速回复栏,格式没搞好。 重复上一贴。
这个是串口的配置。
因为有时要改串口,所以代码里面用了宏,但是这些定义应该是没问题的,因为都能正常使用了(只是多一位)。我想没有必要贴上来吧。
void My_Usart_Init()
{
USART_InitTypeDef USART_InitStructure;
RCC_Configuration();
DMA_Configuration();
GPIO_Configuration();
NVIC_Configuration();
USART_InitStructure.USART_BaudRate = 115200 ;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
//初始化串口
USART_Init(USARTy,&USART_InitStructure);
//开接收中断
USART_ITConfig(USARTy,USART_IT_RXNE ,ENABLE);
//使能串口
USART_Cmd(USARTy,ENABLE);
//使能串口DMA
USART_DMACmd(USARTy,USART_DMAReq_Tx | USART_DMAReq_Rx,ENABLE);
// DMA_ITConfig(USARTy_Tx_DMA_Channel, DMA_IT_TC, ENABLE);
// Periph_NVIC_config(USARTy_Tx_DMA_IRQn,0,5,ENABLE);
/////* Enable the USARTz Interrupt */
DMA_ITConfig(USARTy_Rx_DMA_Channel, DMA_IT_TC, ENABLE); 使能DMA接收中断
Periph_NVIC_config(USARTy_Rx_DMA_IRQn,0,3,ENABLE); //开NVIC中断,自己写的函数,这样代码好看点。 |
|