高级会员

- 积分
- 764
- 金钱
- 764
- 注册时间
- 2016-7-26
- 在线时间
- 123 小时
|
1金钱
这样还需要哪些配置??情况是总是进入不了中断
DMA全配置成功程序如下:
void DMA_INIT()
{
RCC_Configuration();
GPIO_Configure();
UsartConfigureRefunction();
KeyInit();
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);
DMA1_Channel4->CCR |= 1<<1; //允许传输完成中断
DMA1_Channel4->CCR |= 1<<4; //从存储器读
DMA1_Channel4->CCR &= ~(1<<5); //不执行循环模式
DMA1_Channel4->CCR &= ~(1<<6); //外设地址不增加
DMA1_Channel4->CCR |= 1<<7; //存储器地址增加
DMA1_Channel4->CCR &= ~(1<<8); //外设数据宽度是8,因为是u8
DMA1_Channel4->CCR &= ~(1<<9);
DMA1_Channel4->CCR &= ~(1<<10); //存储器的地址是8位,因为是u8
DMA1_Channel4->CCR &= ~(1<<11);
DMA1_Channel4->CCR &= ~(1<<12); //通道优先级是低
DMA1_Channel4->CCR &= ~(1<<13);
DMA1_Channel4->CCR &= ~(1<<14); //非存储器到存储器
DMA1_Channel4->CNDTR= 8; //8个字节
DMA1_Channel4->CMAR = (u32)T_table;
DMA1_Channel4->CPAR = (u32)&(USART1->DR);
USART_DMACmd(USART1,USART_DMAReq_Tx,ENABLE);
|
|