STM32G0B1adc+dma采样数据错位
cube stm32g030f6p6 adc analog watchdog1 无法配置
STM32G070使用HAL_SPI_Receive函数疑问
stm32g030j6m6如何使用串口烧录程序?NRST引脚能否作为普通输入IO口用?
STM32的H5/U5系列处理器内置运放支持负压运算吗?比如输入-1V,放大倍数为2时输出-2V
stm32G030C8T6 官方例程库
STM32G070 调用HAL_I2C_Mem_Read_IT测试疑问
STM32G030F6P6中的3种睡眠模式的功耗分别是多少
STM32G030F6 ADC+DMA多通道非连续采样无法正常工作?
STM32G0B1VE的CAN过滤器个数问题
HAL_I2C_Slave_Seq_Transmit_IT函数的主要功能就是在I2C从设备模式下,顺序地将数据从I2C从设备 发送 到主设备。
它并没有直接处理DMA请求,只是检查了当前I2C的状态,如果当前处于接收状态,则禁用接收,包括可能正在进行的DMA接收。
另一个API函数HAL_I2C_Slave_Seq_Receive_IT的做法类似。如果当前I2C从设备处于发送状态,则需要禁用发送并中止可能正在进行的DMA发送。
简单点说,API函数根据当前I2C的状态切换传输方向。如果是要做发送,当检测到当前处于接收状态时,需要禁用接收中断并中止任何正
在进行的DMA接收传输;如果是要做接收,当检测到当前处于发送状态,需要禁用发送中断并中止任何正在进行的DMA发送传输。
最后,重新启用与当前操作相关的中断,以便继续处理相关中断请求。
恩,表述有误,是终止DMA发送或者接收,看前面函数后缀有IT的都是处理中断方式的,后缀是DMA的就是处理DMA的,但只有这两个函数IT里要去判断DMA,就觉得有疑惑。
对于Seq系列的API函数用法有专门详细的介绍吗?
理解。 关于这些顺序性操作的函数 你可以直接阅读相关函数说明。