recevice function

This commit is contained in:
2024-12-11 14:30:26 +08:00
parent 38849856af
commit c90ecf05f9
3 changed files with 92 additions and 5 deletions

View File

@@ -40,6 +40,34 @@ void led_config(void)
nvic_irq_enable(LED_IRQ, 2);
}
void iicReceiveData(void)
{
uint16_t data[3] = {0};
i2c_start_on_bus(I2C0);
// i2c_stop_on_bus(I2C0);
printf("5\r\n");
while (!i2c_flag_get(I2C0, I2C_FLAG_SBSEND));
i2c_master_addressing(I2C0, LDC1612_ADDR, I2C_RECEIVER);
printf("6\r\n");
while (!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND));
i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);
printf("7\r\n");
i2c_ack_config(I2C0, I2C_ACK_DISABLE);
while (!i2c_flag_get(I2C0, I2C_FLAG_RBNE));
data[0] = i2c_data_receive(I2C0);
while (!i2c_flag_get(I2C0, I2C_FLAG_RBNE));
data[1] = i2c_data_receive(I2C0);
while (!i2c_flag_get(I2C0, I2C_FLAG_RBNE));
data[2] = i2c_data_receive(I2C0);
i2c_stop_on_bus(I2C0);
i2c_ack_config(I2C0, I2C_ACK_ENABLE);
printf("data[0] = %x\r\n", data[0]);
printf("data[1] = %x\r\n", data[1]);
printf("data[2] = %x\r\n", data[2]);
}
/*!
\brief main function
\param[in] none
@@ -59,14 +87,69 @@ int main(void)
printf("XLSW-3DP-LDC1612! V0.0.1\r\n");
printf("\r\n");
I2C_scan();
LDC1612_read_sensor_infomation();
uint16_t data[3] = {0};
// I2C _scan();
delay_ms(1000);
// while (i2c_flag_get(I2C0, I2C_FLAG_I2CBSY));
// i2c_start_on_bus(I2C0);
// printf("1\r\n");
// while (!i2c_flag_get(I2C0, I2C_FLAG_SBSEND));
// i2c_master_addressing(I2C0, LDC1612_ADDR, I2C_TRANSMITTER);
// printf("2\r\n");
// while (!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND));
// i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);
// printf("3\r\n");
// while (!i2c_flag_get(I2C0, I2C_FLAG_TBE));
// i2c_data_transmit(I2C0, 0x7E);
// printf("4\r\n");
//
// // delay_us(2);
// while (!i2c_flag_get(I2C0, I2C_FLAG_TBE));
//
// // i2c_start_on_bus(I2C0);
// i2c_stop_on_bus(I2C0);
// printf("5\r\n");
// while (!i2c_flag_get(I2C0, I2C_FLAG_SBSEND));
// i2c_master_addressing(I2C0, LDC1612_ADDR, I2C_RECEIVER);
// printf("6\r\n");
// while (!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND));
// i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);
// printf("7\r\n");
// i2c_ack_config(I2C0, I2C_ACK_DISABLE);
// while (!i2c_flag_get(I2C0, I2C_FLAG_RBNE));
// data[0] = i2c_data_receive(I2C0);
// while (!i2c_flag_get(I2C0, I2C_FLAG_RBNE));
// data[1] = i2c_data_receive(I2C0);
// while (!i2c_flag_get(I2C0, I2C_FLAG_RBNE));
// data[2] = i2c_data_receive(I2C0);
//
// i2c_stop_on_bus(I2C0);
//
// i2c_ack_config(I2C0, I2C_ACK_ENABLE);
//
// printf("data[0] = %x\r\n", data[0]);
// printf("data[1] = %x\r\n", data[1]);
// printf("data[2] = %x\r\n", data[2]);
iicReceiveData();
while(1){
printf("OK!!!\r\n");
delay_ms(1000);
}
}