你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

HAL库SPI DMA循环调用问题求教

[复制链接]
onev 提问时间:2017-4-9 20:53 /
阅读主题, 点击返回1楼
收藏 2 评论16 发布时间:2017-4-9 20:53
16个回答
watershade 回答时间:2017-6-1 09:51:48
onev 发表于 2017-5-27 10:35
多谢!如你所言,加上HAL_SPI_DMAStop()可以,不过加HAL_SPI_DMAPause()不行。

解决了就好
chayishuang 回答时间:2017-11-20 16:29:23
我在SPI回调函数中,添加HAL_SPI_DMAStop(),和HAL_SPI_Receive_DMA(),实际使能中断一次,请问楼主有碰到这个问题吗?
onev 回答时间:2017-11-21 20:39:33
chayishuang 发表于 2017-11-20 16:29
我在SPI回调函数中,添加HAL_SPI_DMAStop(),和HAL_SPI_Receive_DMA(),实际使能中断一次,请问楼主有碰到这 ...

没太听懂你的意思
chayishuang 回答时间:2017-11-23 19:09:05
SPI接收回调代码:
void HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi)
{
        HAL_SPI_DMAStop(hspi);
        if(HAL_SPI_Receive_DMA(hspi, REV_FPGA_DATA, 6)!= HAL_OK)
  {
    /* Transfer error in transmission process */
    Error_Handler();
  }
}
DMA初始化中的部分代码:
/* SPI1 DMA Init */
    /* SPI1_RX Init */
    hdma_spi1_rx.Instance = DMA2_Stream0;
    hdma_spi1_rx.Init.Channel = DMA_CHANNEL_3;
    hdma_spi1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
    hdma_spi1_rx.Init.PeriphInc = DMA_PINC_DISABLE;
    hdma_spi1_rx.Init.MemInc = DMA_MINC_ENABLE;
    hdma_spi1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
    hdma_spi1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
    hdma_spi1_rx.Init.Mode = DMA_NORMAL;
    hdma_spi1_rx.Init.Priority = DMA_PRIORITY_MEDIUM;
    hdma_spi1_rx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
    if (HAL_DMA_Init(&hdma_spi1_rx) != HAL_OK)
    {
      _Error_Handler(__FILE__, __LINE__);
    }
主函数中,初始化后,执行了一次        :
if(HAL_SPI_Receive_DMA(hspi, REV_FPGA_DATA, 6)!= HAL_OK)
  {
    /* Transfer error in transmission process */
    Error_Handler();
  }
结果是:只执行了一次dma
onev 回答时间:2017-11-24 09:39:02
chayishuang 发表于 2017-11-23 19:09
SPI接收回调代码:
void HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi)
{

你这岂不是一个无限循环不出来了?! 话说你的片选一直拉低的吗?
黑皮男 回答时间:2018-1-24 17:44:46
楼主是不是用的从模式,我现在正在调试,遇到了这样的问题
onev 回答时间:2018-1-27 14:02:42
黑皮男 发表于 2018-1-24 17:44
楼主是不是用的从模式,我现在正在调试,遇到了这样的问题

主                        
12

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版