初级会员

- 积分
- 65
- 金钱
- 65
- 注册时间
- 2014-3-21
- 在线时间
- 12 小时
|
5金钱
很奇怪,配置DMA1很正常。在f0.h头文件找到的DMA2_Channel3
程序调用DMA_DeInit(DMA2_Channel3);就立马跳到HardFault_Handler
个人初步认为是寄存器地址的问题,不知道有没有配到相同问题的,求指导。附上代码
[mw_shl_code=c,true]
void MYDMA2_Init(void)
{
DMA_InitTypeDef DMA_InitStructure;
/* Enable the DMA peripheral */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA2, ENABLE);
DMA_DeInit(DMA2_Channel3);
// DMA1 channels initial
/* DMA Configuration -------------------------------------------------------*/
DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)SPI1_DR_ADDRESS;
DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&SendBuff[0];
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;
DMA_InitStructure.DMA_BufferSize = SEND_SIZE;
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_M2M = DMA_M2M_Disable;
DMA_InitStructure.DMA_Priority = DMA_Priority_Medium;//优先级别为中级
DMA_Init(SPI1_TX_DMA2_CHANNEL, &DMA_InitStructure);
}[/mw_shl_code]
|
|