How to write the stm32g0's dts file for RB3 Gen2 ?
MDK5使用AC6优化等级问题
CMSIS里提供的GCC ld链接文件疑问
大家晚上好啊
stm32G071RBT6跑TOUCHGFX的时候使用仪表控件,更新数值的时候会卡死,怎么解决
STM32G070 I2C主机只发送设备地址读测试是否产生stop位
STM32G030K6Tx使用ADC+DMA进行6通道ADC采集,DMA传输错位问题。
夜深了,睡不着
晚上好啊,兄弟们
第三季度啦,兄弟们
微信公众号
手机版
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函数用法有专门详细的介绍吗?
理解。 关于这些顺序性操作的函数 你可以直接阅读相关函数说明。