[STM32] dma

[复制链接]
1354|4
 楼主| zhangyanjuan4 发表于 2014-5-7 11:53 | 显示全部楼层 |阅读模式
我现在用串口2收GPS数据,I2C读取陀螺仪数据,都使用串口1发送,现配置了串口1的DMA,不知道如何写数据输出正确(GPS是一秒收一次,陀螺仪是100MS读取一次)
DMA_InitTypeDef DMA_InitStructure;
/* DMA clock enable */
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);//DMA1
  /* DMA1 Channel4 (triggered by USART1 Tx event) Config */
  DMA_DeInit(DMA1_Channel4);  
  DMA_InitStructure.DMA_PeripheralBaseAddr = 0x40013804;
  DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)Gps_Send_Buf;
  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;
  DMA_InitStructure.DMA_BufferSize = 1024;
  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;
  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
  DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;
  DMA_InitStructure.DMA_Priority = DMA_Priority_High;
  DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
  DMA_Init(DMA1_Channel4, &DMA_InitStructure);
        DMA_ITConfig(DMA1_Channel4, DMA_IT_TC, ENABLE);
DMA_ITConfig(DMA1_Channel4, DMA_IT_TE, ENABLE);
    /* Enable USART1 DMA TX request */
  USART_DMACmd(USART1, USART_DMAReq_Tx, ENABLE);
  DMA_Cmd(DMA1_Channel4, DISABLE);
void DMA1_Channel4_IRQHandler(void)
{
  DMA_ClearITPendingBit(DMA1_IT_TC4);
  DMA_ClearITPendingBit(DMA1_IT_TE4);
  DMA_Cmd(DMA1_Channel4, DISABLE);//??DMA
// USART1_TX_Finish=1;//?DMA????

}
 楼主| zhangyanjuan4 发表于 2014-5-7 11:55 | 显示全部楼层
        //Enable DMA Channel4 Interrupt
        NVIC_InitStructure.NVIC_IRQChannel = DMA1_Channel4_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);
 楼主| zhangyanjuan4 发表于 2014-5-7 11:57 | 显示全部楼层
除了DMA中断判断传输完成,还有什么函数能判断传输完毕么
jplzl 发表于 2014-5-7 13:13 | 显示全部楼层
哎,又一个被函数库坑了的娃
 楼主| zhangyanjuan4 发表于 2014-5-8 15:34 | 显示全部楼层
楼上能解释一下么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部