Browse Source

测试串口发送指令

devtest
zwsd 3 years ago
parent
commit
0bbaa1fccc
  1. 18
      main/main.c
  2. 25
      main/motor_drive.c
  3. 2
      main/motor_drive.h

18
main/main.c

@ -52,9 +52,9 @@ void app_main(void) {
constructor_bluetooth_processer(&s_bluetooth_processer);
ble_spp_server_demo_app_main(&s_bluetooth_processer);
timer_group_init(TIMER_GROUP_0, TIMER_0, false, timer_group0_interval_num, timer_interval_ms);
// motor_drive_uart_init();
ble_uart_init(UART_NUM_1, 1, 2);
char* test_str = "This is a test string.\n";
motor_drive_uart_init();
// ble_uart_init(UART_NUM_1, 1, 2);
// char* test_str = "This is a test string.\n";
while (true) {
bluetooth_gatts_try_process_data();
@ -68,16 +68,16 @@ void app_main(void) {
// s_bluetooth_processer.motor_drive_turn_flag = false;
// }
// if (s_bluetooth_processer.auto_report_flag) {
// motor_drive_read_encoder();
// s_bluetooth_processer.auto_report_flag = false;
// }
if (s_bluetooth_processer.auto_report_flag) {
motor_drive_read_encoder();
s_bluetooth_processer.auto_report_flag = false;
}
// motor_drive_set_packages_ctr(35.68);
// motor_drive_set_packages_data_max64bit(0x34,4,0X76482534);
uart_write_bytes(UART_NUM_1, (const char*)test_str, strlen(test_str));
ets_delay_us(1000000);
// uart_write_bytes(UART_NUM_1, (const char*)test_str, strlen(test_str));
// ets_delay_us(1000000);
// ble_receive(UART_NUM_2);
}

25
main/motor_drive.c

@ -5,9 +5,9 @@
#define MOTOR_DRIVE "MOTOR_DRIVE"
#define uart_num UART_NUM_0
#define tx_io_num 4
#define rx_io_num 5
#define uart_num UART_NUM_1
#define tx_io_num 1
#define rx_io_num 2
#define buffer_size 128
void motor_drive_uart_init() {
@ -42,13 +42,18 @@ void motor_drive_turn(int direction, int speed_level, double position) {
double motor_drive_read_encoder() {
uint8_t i = 0;
uint8_t generate_buffer_size = 0;
uint8_t buffer[20] = {0};
// Generate cmd
motor_drive_buffer_cmd_generate(buffer, 0x90, 4, 0X5A97FF00);
generate_buffer_size = motor_drive_buffer_cmd_generate(buffer, 0x90, 4, 0X5A97FF00);
if (generate_buffer_size == 0){
ESP_LOGW(MOTOR_DRIVE, "generate_buffer_size null");
return -1;
}
// Send cmd
// uart_write_bytes(UART_NUM_2, (const char*)test_str, strlen(test_str));
uart_write_bytes(uart_num, (const char *)buffer, generate_buffer_size);
// Wait receive
// while (1) {
@ -114,7 +119,7 @@ void motor_drive_hex_to_str(char *hex, int hex_len, char *str) {
}
}
void motor_drive_buffer_cmd_generate(uint8_t *buffer, uint8_t cmd, uint8_t buffer_data_size, uint64_t buffer_data) {
uint8_t motor_drive_buffer_cmd_generate(uint8_t *buffer, uint8_t cmd, uint8_t buffer_data_size, uint64_t buffer_data) {
uint8_t i = 0;
uint8_t checksum = 0;
uint8_t buffer_data_uint8 = 0;
@ -122,7 +127,7 @@ void motor_drive_buffer_cmd_generate(uint8_t *buffer, uint8_t cmd, uint8_t buffe
uint8_t hex_to_str_size = buffer_data_size;
if (buffer == NULL) {
ESP_LOGW(MOTOR_DRIVE, "buffer nil ,init error");
return;
return 0;
}
buffer[0] = 0X3E;
buffer[1] = cmd;
@ -144,6 +149,8 @@ void motor_drive_buffer_cmd_generate(uint8_t *buffer, uint8_t cmd, uint8_t buffe
motor_drive_hex_to_str((char *)buffer, (5 + hex_to_str_size), (char *)strbuffer);
ESP_LOGI(MOTOR_DRIVE, "%s", strbuffer);
motor_drive_buffer_cmd_parse(buffer);
return (5 + hex_to_str_size);
}
void motor_drive_buffer_cmd_parse(uint8_t *buffer) {
@ -166,6 +173,4 @@ void motor_drive_buffer_cmd_parse(uint8_t *buffer) {
}
}
void motor_drive_set_motor_size() {
}
void motor_drive_set_motor_size() {}

2
main/motor_drive.h

@ -42,5 +42,5 @@ double motor_drive_read_encoder();
void motor_drive_set_packages_data_max64bit(uint8_t cmd, uint8_t buffer_data_size, uint64_t buffer_data);
void motor_drive_set_packages_ctr(double position);
void motor_drive_hex_to_str(char *hex, int hex_len, char *str);
void motor_drive_buffer_cmd_generate(uint8_t *buffer, uint8_t cmd, uint8_t buffer_data_size, uint64_t buffer_data);
uint8_t motor_drive_buffer_cmd_generate(uint8_t *buffer, uint8_t cmd, uint8_t buffer_data_size, uint64_t buffer_data);
void motor_drive_buffer_cmd_parse(uint8_t *buffer);
Loading…
Cancel
Save