[STM32F0] STM32F051 DMA2程序跑飞

[复制链接]
1490|5
 楼主| donsbin 发表于 2016-9-16 16:31 | 显示全部楼层 |阅读模式
很奇怪,配置DMA1很正常。看datasheet也指明051有两路DMA。
在f0.h头文件找到的DMA2_Channel3,程序调用DMA_DeInit(DMA2_Channel3);就立马跳到HardFault_Handler
个人初步认为是寄存器地址的问题,不知道有没有碰到相同问题的,在.s里面好像也没找到DMA2的中断入口。
目前DMA1通道3在使用,求指导。附上代码
  1. void MYDMA2_Init(void)
  2. {
  3.   DMA_InitTypeDef          DMA_InitStructure;       
  4.   /* Enable the DMA peripheral */
  5.   RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA2, ENABLE);
  6.   DMA_DeInit(DMA2_Channel3);
  7.   
  8.   // DMA1 channels initial
  9.   /* DMA Configuration -------------------------------------------------------*/
  10.   DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)SPI1_DR_ADDRESS;
  11.   DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&SendBuff[0];
  12.   DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;
  13.   DMA_InitStructure.DMA_BufferSize = SEND_SIZE;
  14.   DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
  15.   DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
  16.   DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;
  17.   DMA_InitStructure.DMA_MemoryDataSize =  DMA_MemoryDataSize_Byte;
  18.   DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;
  19.   DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
  20.   
  21.   DMA_InitStructure.DMA_Priority  = DMA_Priority_Medium;//优先级别为中级
  22.   DMA_Init(SPI1_TX_DMA2_CHANNEL, &DMA_InitStructure);       
  23.        
  24. }



xyz549040622 发表于 2016-9-17 10:30 | 显示全部楼层
在.s里面好像也没找到DMA2的中断入口。
这个芯片没用过,是不是共用一个中断或者是这个芯片没DMA2中断呢就
1223657347 发表于 2016-9-17 13:18 | 显示全部楼层
F051只有一个DMA,不知道lz在哪里看到的DMA2。建议仔细看看相关数据手册和参考手册,再不济打开cubemx看看也行
 楼主| donsbin 发表于 2016-9-17 14:02 | 显示全部楼层
本帖最后由 donsbin 于 2016-9-17 15:19 编辑
1223657347 发表于 2016-9-17 13:18
F051只有一个DMA,不知道lz在哪里看到的DMA2。建议仔细看看相关数据手册和参考手册,再不济打开cubemx看看 ...

dma.png
看到中文手册上写的(F051),看来是笔误了.


yklstudent 发表于 2016-9-17 18:46 | 显示全部楼层
donsbin 发表于 2016-9-17 14:02
看到中文手册上写的(F051),看来是笔误了.

STM32F051有中文手册?麻烦能分享下嘛
huangcunxiake 发表于 2016-9-17 22:00 | 显示全部楼层
中文的有疑问,可以看看英文的,然后配合头文件和.s看看,一般头文件和.s是不会错的。错了也要按头文件和.s来做。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:思亘七险,点落九宫,神游八极,纵横十方。

20

主题

96

帖子

2

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