generated from hulk/gd32e23x_template
format
This commit is contained in:
parent
7d6be9f390
commit
9b9f14f97a
@ -22,16 +22,22 @@
|
|||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
void i2c_delay(void);
|
void soft_i2c_delay(void);
|
||||||
|
|
||||||
void soft_i2c_config(void);
|
void soft_i2c_config(void);
|
||||||
|
|
||||||
void soft_i2c_start(void);
|
void soft_i2c_start(void);
|
||||||
|
|
||||||
void soft_i2c_stop(void);
|
void soft_i2c_stop(void);
|
||||||
|
|
||||||
void soft_i2c_send_ack(void);
|
void soft_i2c_send_ack(void);
|
||||||
|
|
||||||
void soft_i2c_send_nack(void);
|
void soft_i2c_send_nack(void);
|
||||||
|
|
||||||
uint8_t soft_i2c_wait_ack(void);
|
uint8_t soft_i2c_wait_ack(void);
|
||||||
|
|
||||||
void soft_i2c_send_byte(uint8_t data);
|
void soft_i2c_send_byte(uint8_t data);
|
||||||
|
|
||||||
uint8_t soft_i2c_receive_byte(uint8_t ack);
|
uint8_t soft_i2c_receive_byte(uint8_t ack);
|
||||||
|
|
||||||
#endif //SOFT_I2C_H
|
#endif //SOFT_I2C_H
|
||||||
|
26
src/main.c
26
src/main.c
@ -79,36 +79,36 @@ int main(void) {
|
|||||||
soft_i2c_config();
|
soft_i2c_config();
|
||||||
printf("111\n");
|
printf("111\n");
|
||||||
|
|
||||||
i2c_start();
|
soft_i2c_start();
|
||||||
i2c_send_byte((0x2B << 1));
|
soft_i2c_send_byte((0x2B << 1));
|
||||||
if (!i2c_wait_ack())
|
if (!soft_i2c_wait_ack())
|
||||||
{
|
{
|
||||||
printf("NACK\n");
|
printf("NACK\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
i2c_send_byte(0x7E);
|
soft_i2c_send_byte(0x7E);
|
||||||
if (!i2c_wait_ack())
|
if (!soft_i2c_wait_ack())
|
||||||
{
|
{
|
||||||
printf("NACK\n");
|
printf("NACK\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
i2c_delay();
|
soft_i2c_delay();
|
||||||
i2c_start();
|
soft_i2c_start();
|
||||||
|
|
||||||
i2c_send_byte((0x2B << 1) + 1);
|
soft_i2c_send_byte((0x2B << 1) + 1);
|
||||||
if (!i2c_wait_ack())
|
if (!soft_i2c_wait_ack())
|
||||||
{
|
{
|
||||||
printf("NACK\n");
|
printf("NACK\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
i2c_delay();
|
soft_i2c_delay();
|
||||||
|
|
||||||
data[0] = i2c_receive_byte(1);
|
data[0] = soft_i2c_receive_byte(1);
|
||||||
data[1] = i2c_receive_byte(0);
|
data[1] = soft_i2c_receive_byte(0);
|
||||||
|
|
||||||
delay_us(5);
|
delay_us(5);
|
||||||
i2c_stop();
|
soft_i2c_stop();
|
||||||
|
|
||||||
printf("0x%x 0x%x\n", data[0], data[1]);
|
printf("0x%x 0x%x\n", data[0], data[1]);
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
*/
|
*/
|
||||||
void i2c_delay(void) {
|
void soft_i2c_delay(void) {
|
||||||
delay_us(20); // Adjust delay as needed
|
delay_us(20); // Adjust delay as needed
|
||||||
/* delay to freq
|
/* delay to freq
|
||||||
* 20KHz: delay_us(20);
|
* 20KHz: delay_us(20);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user