generated from hulk/gd32e23x_template_cmake_vscode
fixing IIC
This commit is contained in:
52
Src/main.c
52
Src/main.c
@@ -81,10 +81,58 @@ int main(void)
|
||||
i2c_bus_reset();
|
||||
#endif
|
||||
|
||||
i2c_scan();
|
||||
ldc1612_iic_get_sensor_infomation();
|
||||
// i2c_scan();
|
||||
|
||||
uint8_t ldc_data[2] = {0};
|
||||
|
||||
i2c_result_t i2c_result = i2c_read_16bits(LDC1612_ADDR, READ_MANUFACTURER_ID, ldc_data);
|
||||
|
||||
// const char* i2c_string = i2c_get_status_string(i2c_result);
|
||||
|
||||
// const char* msg1 = "I2C Status: ";
|
||||
// for (uint8_t i = 0; msg1[i] != '\0'; i++) {
|
||||
// while (usart_flag_get(RS485_PHY, USART_FLAG_TBE) == RESET) {}
|
||||
// usart_data_transmit(RS485_PHY, msg1[i]);
|
||||
// }
|
||||
|
||||
// // 发送i2c_string内容
|
||||
// for (uint8_t i = 0; i2c_string[i] != '\0'; i++) {
|
||||
// while (usart_flag_get(RS485_PHY, USART_FLAG_TBE) == RESET) {}
|
||||
// usart_data_transmit(RS485_PHY, i2c_string[i]);
|
||||
// }
|
||||
|
||||
// // 发送换行符
|
||||
// const char* newline1 = "\r\n";
|
||||
// for (uint8_t i = 0; newline1[i] != '\0'; i++) {
|
||||
// while (usart_flag_get(RS485_PHY, USART_FLAG_TBE) == RESET) {}
|
||||
// usart_data_transmit(RS485_PHY, newline1[i]);
|
||||
// }
|
||||
|
||||
// 第二句:发送 "LDC1612 Manufacturer ID: 0x" + 十六进制数值 + "\r\n"
|
||||
const char* msg2 = "LDC1612 Manufacturer ID: 0x";
|
||||
for (uint8_t i = 0; msg2[i] != '\0'; i++) {
|
||||
while (usart_flag_get(RS485_PHY, USART_FLAG_TBE) == RESET) {}
|
||||
usart_data_transmit(RS485_PHY, msg2[i]);
|
||||
}
|
||||
|
||||
// 发送十六进制数值
|
||||
uint16_t manufacturer_id = (ldc_data[0] << 8) | ldc_data[1];
|
||||
uint8_t hex_chars[] = "0123456789ABCDEF";
|
||||
for (int8_t i = 3; i >= 0; i--) {
|
||||
uint8_t nibble = (manufacturer_id >> (i * 4)) & 0x0F;
|
||||
while (usart_flag_get(RS485_PHY, USART_FLAG_TBE) == RESET) {}
|
||||
usart_data_transmit(RS485_PHY, hex_chars[nibble]);
|
||||
}
|
||||
|
||||
// 发送换行符
|
||||
const char* newline2 = "\r\n";
|
||||
for (uint8_t i = 0; newline2[i] != '\0'; i++) {
|
||||
while (usart_flag_get(RS485_PHY, USART_FLAG_TBE) == RESET) {}
|
||||
usart_data_transmit(RS485_PHY, newline2[i]);
|
||||
}
|
||||
|
||||
// 等待所有数据发送完成
|
||||
while (usart_flag_get(RS485_PHY, USART_FLAG_TC) == RESET) {}
|
||||
|
||||
while(1){
|
||||
command_process();
|
||||
|
Reference in New Issue
Block a user