关于F429 SAI 初始化流程问题。

[复制链接]
461|0
 楼主| 卡拉瓦乔 发表于 2018-7-11 11:44 | 显示全部楼层 |阅读模式
今天遇到个问题,就是F429板子录音的时候,老是死在
SAIA_Init(SAI_MODEMASTER_TX,SAI_CLOCKSTROBING_RISINGEDGE,SAI_DATASIZE_16);//SAI1 Block A,主发送,16位数据
---------------------------------------------------->>>>>>>>
   
    HAL_SAI_DeInit(&SAI1A_Handler);                          //清除以前的配置
     SAI1A_Handler.Instance=SAI1_Block_A;                     //SAI1 Bock A  
    SAI1A_Handler.Init.AudioMode=mode;                       //设置SAI1工作模式

HAL_SAI_DeInit(&SAI1A_Handler);                          //清除以前的配置
-------------------------------------------------->>>>>>>>>>>>>>>
   SAI_Disable(hsai);

-------------------------------------------------->>>>>>>>>>>>>>>
调试界面下 SAI1A_Handler.Instance = NULL;
所以导致 SAI_Disable里面__HAL_SAI_DISABLE(hsai);语句对  SAI1A_Handler.Instance没有失能成功。
然后改成
    SAI1A_Handler.Instance=SAI1_Block_A;                     //SAI1 Bock A

    HAL_SAI_DeInit(&SAI1A_Handler);                          //清除以前的配置
    SAI1A_Handler.Init.AudioMode=mode;                       //设置SAI1工作模式
就ok了。这算不算原子的一个BUG.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

438

主题

438

帖子

0

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