From c373a289704a83da219dfd910101547e2eee1247 Mon Sep 17 00:00:00 2001 From: tianjialong Date: Wed, 26 Apr 2023 20:51:15 +0800 Subject: [PATCH] update --- .vscode/settings.json | 3 ++- app/a.exe | Bin 61973 -> 62221 bytes app/main.c | 27 ++++++++------------------ app/serial.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++-- app/serial.h | 3 +++ app/steering_gear.c | 0 app/steering_gear.h | 0 7 files changed, 63 insertions(+), 22 deletions(-) create mode 100644 app/steering_gear.c create mode 100644 app/steering_gear.h diff --git a/.vscode/settings.json b/.vscode/settings.json index ab5f439..a853f5b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "files.associations": { - "serial.h": "c" + "serial.h": "c", + "steering_gear.h": "c" } } \ No newline at end of file diff --git a/app/a.exe b/app/a.exe index fcc6dcb70474f7e1feea8a6eac44b54753b4ad13..5b570f6455b2f464a4dca8e069621ba006c4477e 100644 GIT binary patch delta 11538 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 delta 11228 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 b$Dh%xD_5?hH$HA{@qBV7vZdhLm-PP!Y%+uE diff --git a/app/main.c b/app/main.c index 5aef6bb..24505cd 100644 --- a/app/main.c +++ b/app/main.c @@ -3,25 +3,11 @@ #include #include "serial.h" +#include "steering_gear.h" -int serial_com_id; +PORT serial_port; +int serial_com_id; -int serial_test() { - PORT COM1; - char buff[1024] = {0}; - int rcv_len = 0; - - printf("Start open com%d\n", serial_com_id); - COM1 = serial_init(serial_com_id, 115200, 8, 1, 0); - - while (1) { - Serial_SendData(COM1, "hello finny", 12); - memset(buff, 0, 1024); - rcv_len = Serial_ReciveData(COM1, buff, 1024); - printf("rcv:%s\n", buff); - Sleep(1); - } -} int main(int argc, char *argv[]) { /* 参数判断 */ if (argc != 2) { @@ -32,14 +18,17 @@ int main(int argc, char *argv[]) { /* 字符串转int类型 */ serial_com_id = atoi(argv[1]); - if (serial_com_id == 0) {/* */ + if (serial_com_id == 0) { /* */ /* 转换错误 */ printf("The serial port id is incorrect\n"); return -2; } - serial_test(); + serial_port = serial_init(serial_com_id, 115200, 8, 1, 0); + while (1) { + Serial_SendData(serial_port, "hello finny", 12); + Sleep(1000); } return 0; diff --git a/app/serial.c b/app/serial.c index 485c39b..5cf4096 100644 --- a/app/serial.c +++ b/app/serial.c @@ -3,6 +3,34 @@ #include #include +/*** + * 用于串口初始化时设置停止位 + * stopbits只有三种选择 + * 1.停止位为1 + * 2.停止位为1.5 + * 3.停止位为2 + * 如果输入错误停止位则返回-1 + */ +static int switch_get_stopbits(int stopbits) { + int real_stopbits; + switch (stopbits) { + case 1: + real_stopbits = ONESTOPBIT; + break; + case 2: + real_stopbits = ONE5STOPBITS; + break; + case 3: + real_stopbits = TWOSTOPBITS; + break; + + default: + real_stopbits = -1; + break; + } + return real_stopbits; +} + PORT OpenPort(int idx) { HANDLE hComm; TCHAR comname[100]; @@ -166,8 +194,10 @@ PORT serial_init(int idx, int rate, int databits, int stopbits, int parity) { printf("set COM%d databits fail\n", idx); return NULL; } - stopbits = ONESTOPBIT; - printf("stopbits %d\n", stopbits); + stopbits = switch_get_stopbits(stopbits); + if (stopbits == -1) { + printf("stopbits set error\n"); + } ret = SetPortStopBits(com_port, stopbits); if (ret == FALSE) { printf("set COM%d stopbits fail\n", idx); @@ -212,3 +242,21 @@ int Serial_ReciveData(PORT com_port, char *data, int len) { return NoBytesRead; } + +/* 测试函数,demo工程放在main中,但是我不需要,暂时放在这 */ +void serial_test(int serial_com_id) { + PORT COM1; + char buff[1024] = {0}; + int rcv_len = 0; + + printf("Start open com%d\n", serial_com_id); + COM1 = serial_init(serial_com_id, 115200, 8, 1, 0); + + while (1) { + Serial_SendData(COM1, "hello finny", 12); + memset(buff, 0, 1024); + rcv_len = Serial_ReciveData(COM1, buff, 1024); + printf("rcv:%s\n", buff); + Sleep(1); + } +} diff --git a/app/serial.h b/app/serial.h index 0c37ad5..fc639b0 100644 --- a/app/serial.h +++ b/app/serial.h @@ -19,4 +19,7 @@ PORT serial_init(int idx, int rate, int databits, int stopbits, int parity); int Serial_SendData(PORT com_port, const char *data, int len); int Serial_ReciveData(PORT com_port, char *data, int len); +/* 测试函数,demo工程放在main中,但是我不需要,暂时放在这 */ +void serial_test(int serial_com_id); + #endif diff --git a/app/steering_gear.c b/app/steering_gear.c new file mode 100644 index 0000000..e69de29 diff --git a/app/steering_gear.h b/app/steering_gear.h new file mode 100644 index 0000000..e69de29