Corrected baud rate setting for mstpcap demo utility. Thank you, Michael D!

This commit is contained in:
skarg
2011-11-26 16:32:17 +00:00
parent d009a1a15e
commit 087584e85e
2 changed files with 105 additions and 11 deletions
+1 -1
View File
@@ -838,11 +838,11 @@ int main(
} }
if (argc > 2) { if (argc > 2) {
my_baud = strtol(argv[2], NULL, 0); my_baud = strtol(argv[2], NULL, 0);
RS485_Set_Baud_Rate(my_baud);
} }
atexit(cleanup); atexit(cleanup);
RS485_Initialize(); RS485_Initialize();
timer_init(); timer_init();
RS485_Set_Baud_Rate(my_baud);
fprintf(stdout, "mstpcap: Using %s for capture at %ld bps.\n", fprintf(stdout, "mstpcap: Using %s for capture at %ld bps.\n",
RS485_Interface(), (long) RS485_Get_Baud_Rate()); RS485_Interface(), (long) RS485_Get_Baud_Rate());
#if defined(_WIN32) #if defined(_WIN32)
+104 -10
View File
@@ -128,19 +128,71 @@ const char *RS485_Interface(
uint32_t RS485_Get_Baud_Rate( uint32_t RS485_Get_Baud_Rate(
void) void)
{ {
uint32_t baud = 0;
switch (RS485_Baud) { switch (RS485_Baud) {
case B19200: case B0:
return 19200; baud = 0;
case B38400: break;
return 38400; case B50:
case B57600: baud = 50;
return 57600; break;
case B115200: case B75:
return 115200; baud = 75;
default: break;
case B110:
baud = 110;
break;
case B134:
baud = 134;
break;
case B150:
baud = 150;
break;
case B200:
baud = 200;
break;
case B300:
baud =300;
break;
case B600:
baud = 600;
break;
case B1200:
baud = 1200;
break;
case B1800:
baud = 1800;
break;
case B2400:
baud = 2400;
break;
case B4800:
baud = 4800;
break;
case B9600: case B9600:
return 9600; baud = 9600;
break;
case B19200:
baud = 19200;
break;
case B38400:
baud = 38400;
break;
case B57600:
baud = 57600;
break;
case B115200:
baud = 115200;
break;
case B230400:
baud = 230400;
break;
default:
baud = 9600;
} }
return baud;
} }
/**************************************************************************** /****************************************************************************
@@ -155,6 +207,45 @@ bool RS485_Set_Baud_Rate(
bool valid = true; bool valid = true;
switch (baud) { switch (baud) {
case 0:
RS485_Baud = B0;
break;
case 50:
RS485_Baud = B50;
break;
case 75:
RS485_Baud = B75;
break;
case 110:
RS485_Baud = B110;
break;
case 134:
RS485_Baud = B134;
break;
case 150:
RS485_Baud = B150;
break;
case 200:
RS485_Baud = B200;
break;
case 300:
RS485_Baud = B300;
break;
case 600:
RS485_Baud = B600;
break;
case 1200:
RS485_Baud = B1200;
break;
case 1800:
RS485_Baud = B1800;
break;
case 2400:
RS485_Baud = B2400;
break;
case 4800:
RS485_Baud = B4800;
break;
case 9600: case 9600:
RS485_Baud = B9600; RS485_Baud = B9600;
break; break;
@@ -170,6 +261,9 @@ bool RS485_Set_Baud_Rate(
case 115200: case 115200:
RS485_Baud = B115200; RS485_Baud = B115200;
break; break;
case 230400:
RS485_Baud = B230400;
break;
default: default:
valid = false; valid = false;
break; break;