From fc78430a35be252a1cd5a29b5b66290a68cd9ca3 Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期二, 27 八月 2024 17:21:18 +0800 Subject: [PATCH] Merge branch '安邦测距手环' of http://47.108.70.204:60062/r/ChinaUWBProject into 安邦测距手环 --- keil/include/drivers/mk_i2c.c | 68 +++++++++++++++++----------------- 1 files changed, 34 insertions(+), 34 deletions(-) diff --git a/keil/include/drivers/mk_i2c.c b/keil/include/drivers/mk_i2c.c index c6efb7e..82784e5 100644 --- a/keil/include/drivers/mk_i2c.c +++ b/keil/include/drivers/mk_i2c.c @@ -53,17 +53,17 @@ .base = I2C0, .irq = I2C0_IRQn, .config = - { - .mode = I2C_MASTER, - .speed_mode = I2C_SPEED_STANDARD, - .addr_mode = I2C_7BIT_ADDR, - .local_addr = MK_DEV_ADDRESS, - .target_addr = 0x33, - .rx_level = I2C_RXFIFO_CHAR_1, - .tx_level = I2C_TXFIFO_CHAR_1, - .int_rx = false, - .int_tx = false, - }, + { + .mode = I2C_MASTER, + .speed_mode = I2C_SPEED_STANDARD, + .addr_mode = I2C_7BIT_ADDR, + .local_addr = MK_DEV_ADDRESS, + .target_addr = 0x33, + .rx_level = I2C_RXFIFO_CHAR_1, + .tx_level = I2C_TXFIFO_CHAR_1, + .int_rx = false, + .int_tx = false, + }, }, }; @@ -170,19 +170,19 @@ // update state switch (i2c_handle[id].state) { - case I2C_STATE_READY: - i2c_handle[id].state = state; - break; - case I2C_STATE_BUSY_TX: - case I2C_STATE_BUSY_RX: - case I2C_STATE_BUSY_TX_RX: - ret = DRV_BUSY; - break; - case I2C_STATE_RESET: - case I2C_STATE_TIMEOUT: - case I2C_STATE_ERROR: - ret = DRV_ERROR; - break; + case I2C_STATE_READY: + i2c_handle[id].state = state; + break; + case I2C_STATE_BUSY_TX: + case I2C_STATE_BUSY_RX: + case I2C_STATE_BUSY_TX_RX: + ret = DRV_BUSY; + break; + case I2C_STATE_RESET: + case I2C_STATE_TIMEOUT: + case I2C_STATE_ERROR: + ret = DRV_ERROR; + break; } int_unlock(lock); @@ -621,7 +621,7 @@ i2c_handle[id].rx_buff[i2c_handle[id].rx_count++] = (uint8_t)i2c_handle[id].base->DATA; } - _i2c_exit: +_i2c_exit: // update state i2c_handle[id].state = I2C_STATE_READY; @@ -832,7 +832,7 @@ uint8_t rx_level = GET_BIT_FIELD(i2c_handle[id].base->FIFO_TH, I2C_FIFO_TH_RX_TL_MSK, I2C_FIFO_TH_RX_TL_POS); if (i2c_handle[id].rx_count == i2c_handle[id].rx_size) - { // RX done + { // RX done usr_callback = i2c_handle[id].rx_callback; // restore rx threshold i2c_handle[id].base->FIFO_TH = @@ -851,7 +851,7 @@ { // set rx fifo threshold if necessary i2c_handle[id].base->FIFO_TH = SET_BIT_FIELD(i2c_handle[id].base->FIFO_TH, I2C_FIFO_TH_RX_TL_MSK, I2C_FIFO_TH_RX_TL_POS, - (i2c_handle[id].rx_size - i2c_handle[id].rx_count - 1)); + (i2c_handle[id].rx_size - i2c_handle[id].rx_count - 1)); } } } @@ -878,7 +878,7 @@ // tx buffer has all been sent in bulk mode yet the // master is still requesting more data. if (i2c_handle[id].tx_count == i2c_handle[id].tx_size) - { // TX done + { // TX done usr_callback = i2c_handle[id].tx_callback; // update state @@ -891,7 +891,7 @@ int_stat = 0; } else - { // TX continue + { // TX continue // write data to FIFO while ((i2c_handle[id].tx_count < i2c_handle[id].tx_size) && (i2c_handle[id].base->STATUS1 & I2C_STATUS1_TFNF_MSK)) { @@ -907,7 +907,7 @@ if (i2c_handle[id].state & I2C_STATE_BUSY_TX) { if (i2c_handle[id].tx_count == i2c_handle[id].tx_size) - { // TX done + { // TX done usr_callback = i2c_handle[id].tx_callback; // update state @@ -929,7 +929,7 @@ int_stat = 0; } else - { // TX continue + { // TX continue uint32_t restart = 0; uint32_t stop = 0; // write data to FIFO @@ -961,12 +961,12 @@ else if (i2c_handle[id].state & I2C_STATE_BUSY_RX) { if (i2c_handle[id].tx_count == i2c_handle[id].rx_size) - { // TX done + { // TX done // mask tx empty interrupt i2c_handle[id].base->INTR_EN &= ~I2C_INTR_TX_EMPTY_MSK; } else - { // TX continue + { // TX continue uint32_t restart = 0; uint32_t stop = 0; @@ -995,7 +995,7 @@ } if (i2c_handle[id].tx_count == i2c_handle[id].rx_size) - { // TX done + { // TX done // mask tx empty interrupt i2c_handle[id].base->INTR_EN &= ~I2C_INTR_TX_EMPTY_MSK; } -- Gitblit v1.9.3