Skip to content

Commit 67d1dca

Browse files
iabdalkaderdpgeorge
authored andcommitted
stm32/machine_i2c: Use hardware I2C for STM32H7.
1 parent 9eff402 commit 67d1dca

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

ports/stm32/i2c.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,12 @@ int i2c_write(i2c_t *i2c, const uint8_t *src, size_t len, size_t next_len) {
268268
return num_acks;
269269
}
270270

271-
#elif defined(STM32F0) || defined(STM32F7)
271+
#elif defined(STM32F0) || defined(STM32F7) || defined(STM32H7)
272+
273+
#if defined(STM32H7)
274+
#define APB1ENR APB1LENR
275+
#define RCC_APB1ENR_I2C1EN RCC_APB1LENR_I2C1EN
276+
#endif
272277

273278
STATIC uint16_t i2c_timeout_ms[MICROPY_HW_MAX_I2C];
274279

@@ -468,7 +473,7 @@ int i2c_write(i2c_t *i2c, const uint8_t *src, size_t len, size_t next_len) {
468473

469474
#endif
470475

471-
#if defined(STM32F0) || defined(STM32F4) || defined(STM32F7)
476+
#if defined(STM32F0) || defined(STM32F4) || defined(STM32F7) || defined(STM32H7)
472477

473478
int i2c_readfrom(i2c_t *i2c, uint16_t addr, uint8_t *dest, size_t len, bool stop) {
474479
int ret;

ports/stm32/machine_i2c.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
#define I2C_POLL_DEFAULT_TIMEOUT_US (50000) // 50ms
4040

41-
#if defined(STM32F0) || defined(STM32F4) || defined(STM32F7)
41+
#if defined(STM32F0) || defined(STM32F4) || defined(STM32F7) || defined(STM32H7)
4242

4343
typedef struct _machine_hard_i2c_obj_t {
4444
mp_obj_base_t base;

0 commit comments

Comments
 (0)