rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers
SCZeiDan d78429eb8e
[stm32] i2c hard driver fixup:增加硬件I2C传输超时等待时间
问题:
在使用硬件 I2C 驱动进行音频模块 WM8978 配置时,发现连续 rt_i2c_transfer 进行 I2C 传输时发现,连续多次调用 rt_i2c_transfer 会出现丢包现象;溯源发现是每次使用 rt_i2c_transfer 传输2字节,传输频率过高导致底层 HAL_I2C_Master_Seq_Transmit_DMA 报错 HAL_BUSY;

现象:
rt_completion_wait超时等待完成之后,I2C仍处于HAL_I2C_STATE_BUSY_TX状态,且后续第二次运行至HAL_I2C_Master_Seq_Transmit_DMA时会直接返回HAL_BUSY,从而直接 goto out; 退出而不会再次进行超时等待;

* drv_hard_i2c.c: 修复325行缺失'}'语法错误;更改HAL_I2C_xx_Transimt_xx调用中目标设备地址值;i2c_hard_config.h: 添加STM32F系列芯片xx_DMA_CONFIG宏定义;

* 回溯I2C设备地址传参处(msg->addr<<1)修改;

* fixup: 增加硬件I2C传输延时,解决连续传输导致HAL_BUSY状态;
2024-05-04 12:51:27 -04:00
..
config [bsp][stm32] fix bugs of i2c hardware drivers 2024-04-24 01:42:03 -04:00
drv_flash [stm32][rt-spark] support nano version 2023-12-28 14:03:29 +08:00
Kconfig [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
SConscript [bsp][stm32] add hardware i2c driver 2024-03-07 22:59:47 -05:00
drv_adc.c [stm32] fix missing headfer files 2024-01-08 18:54:43 +08:00
drv_can.c [stm32] fix missing headfer files 2024-01-08 18:54:43 +08:00
drv_can.h [stm32] fix missing headfer files 2024-01-08 18:54:43 +08:00
drv_config.h [BSP] add bsp for st's new platform stm32h7s7-st-disco. 2024-04-10 16:04:28 +08:00
drv_crypto.c [stm32] fix missing headfer files 2024-01-08 18:54:43 +08:00
drv_crypto.h [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_dac.c [stm32] fix missing headfer files 2024-01-08 18:54:43 +08:00
drv_dma.h [BSP] add bsp for st's new platform stm32h7s7-st-disco. 2024-04-10 16:04:28 +08:00
drv_eth.c [bsp][stm32] eth driver support phy YT8512C 2024-03-15 19:12:46 -04:00
drv_eth.h [bsp][stm32]eth driver support phy YT8512C 2023-12-26 20:56:31 +08:00
drv_gpio.c [BSP] add bsp for st's new platform stm32h7s7-st-disco. 2024-04-10 16:04:28 +08:00
drv_gpio.h [stm32] fxi gpio header files included 2024-01-07 22:46:12 +08:00
drv_hard_i2c.c [stm32] i2c hard driver fixup:增加硬件I2C传输超时等待时间 2024-05-04 12:51:27 -04:00
drv_hard_i2c.h [bsp][stm32] fix hardware i2c driver bug 2024-04-01 23:21:09 -04:00
drv_lcd.c bsp/stm32: remove duplicate if condition 2024-04-12 19:01:26 -04:00
drv_lcd_mipi.c [stm32] fxi gpio header files included 2024-01-07 22:46:12 +08:00
drv_log.h [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_lptim.c [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_lptim.h [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_nand.c [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_nand.h [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_pm.c [stm32] support nano version 2023-12-05 23:22:19 +08:00
drv_pulse_encoder.c [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_pwm.c [stm32] fix missing headfer files 2024-01-08 18:54:43 +08:00
drv_qspi.c [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_qspi.h [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_rtc.c [bsp][stm32] drv_rtc.c中包含drv_common.h 避免找不到 error_handle实现 (#8676) 2024-03-26 00:57:03 -04:00
drv_sdio.c [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_sdio.h [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_sdmmc.c [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_sdmmc.h [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_sdram.c [bsp][stm32]fix stm32f469 sdram not enable problem. 2024-01-10 18:12:57 +08:00
drv_soft_i2c.c [i2c] adjust the timing for I2C initialization 2024-04-29 20:46:12 -04:00
drv_soft_i2c.h [SBP] Stm32F407-rt-spark adapts to RTduino 2024-04-11 18:46:52 -04:00
drv_soft_spi.c [spi] soft_spi_pin_init loop variable is initialized to 0 2024-04-29 17:49:20 -04:00
drv_soft_spi.h [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_spi.c [STM32][SPI-DMA]特定条件下接收错误 2024-04-22 21:15:38 -04:00
drv_spi.h [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_tim.c [bsp][stm32]完善stm32g0系列部分外设中断处理 (#8509) 2024-01-27 09:56:52 +08:00
drv_tim.h [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_usart.c [BSP] add bsp for st's new platform stm32h7s7-st-disco. 2024-04-10 16:04:28 +08:00
drv_usart.h [BSP] add bsp for st's new platform stm32h7s7-st-disco. 2024-04-10 16:04:28 +08:00
drv_usart_v2.c [bsp][stm32]完善stm32g0系列部分外设中断处理 (#8509) 2024-01-27 09:56:52 +08:00
drv_usart_v2.h [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_usbd.c [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_usbh.c [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_usbh.h [stm32] split stm32 drivers as normal and nano drivers 2023-12-03 21:25:00 +08:00
drv_wdt.c [bsp/stm32g491] add tim and iwdog 2023-12-08 18:01:45 +08:00