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

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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版