本人第一次使用HAL库,然后用SPI操作FLAH,担心数据量大,于是打算使用DMA,之前是用的LL库
然后发现了一个问题,SPI怎么都接收不到数据,想了一下应该是片选引脚的问题,我应该在DMA传输结束时关闭引脚,但是之前都是用LL库,判断标志位的,在HAL库我应该找到相应的回调函数。
首先我发现在初始化DMA的结构体当中,可以定义回调函数,于是我就写了一个,如下图一,然后运行发现进不去这个函数,于是我就在DEBUG的时候拉出来这个结构体看了一下。咦,奇怪这个函数地址并不是我写的么,之后我又发现这个函数我重写不了,我就在工程里搜了一下这个函数,发现这个函数里有个重写的接口(图三),所以我需要找一个文档,23333
(备注:我回调函数是在调用传输函数的时候定义的)