📄 main.c
字号:
#include "CommSerial.h"
#include "global.h"
#include "stdio.h"
// #include "syslog.h"
// #include "wcommon.h"
// #include "stderr.h"
//*
//////////////////////////////////////////////////////////////////////////
typedef struct
{
char devname[128];
int baudrate;
int flag;
char at[32];
}w_option_t;
static w_option_t g_para;
//////////////////////////////////////////////////////////////////////////
// receive data from use serial port
void OnReceive(void* userData, BYTE* rcvData, int len)
{
printf( "%s", rcvData );
// Print( "Rcv: %s", rcvData );
}
// open usb serial port
int OpenSerial( char *commPara ) // commPara[] = "/dev/usb/acm/0,460800,8,1,n";
{
char buf[1024];
int ret;
SERIALPORT sp = {0};
if ( commPara==NULL )
return -1;
if (0 != (ret = ParseSerialCommParaStr(commPara, &sp)))
{
Err( "ParseSerialCommParaStr error, ret=%d\n", ret );
return -2;
}
Pt( "baudrate: %d, com: %s, databits: %d, parity: %c, stopbits: %d\n",
sp.baudrate, sp.scom, sp.databits, sp.parity, sp.stopbits );
if (0 != (ret = SerialPortOpen(&sp, OnReceive, NULL, 0)))
{
Err( "open error ret=%d\n", ret );
SerialPortClose();
return -3;
}
return 0;
}
// int Init(void)
// {
// int ret;
//
// // open usb serial port
// char para[256] = "";
// sprintf( para, "%s,%d,8,1,n", g_para.devname, g_para.baudrate );
// ret = OpenSerial( para );
// if ( ret<0 )
// {
// Err("OpenSerial: ret=%d\n", ret);
// return -1;
// }
//
// // open debug serial port
//
// return 0;
//
// }
// int ParseArgu( int argc, char * argv[] )
// {
// if ( argc<1 || argv==NULL )
// {
// Err( "para too less or error.\n" );
// return -1;
// }
// if ( argc == 1 ) {
// g_para.flag = 1;
// strcpy( g_para.at, "at+cfun=0,0" );
// strcpy( g_para.devname, "/dev/usb/tts/1" );
// g_para.baudrate = atoi( "115200" );
// return 0;
// }
//
// strcpy( g_para.devname, argv[0] );
// //argv++;
// g_para.baudrate = atoi( argv[1] );
// if ( argc == 3 ) {
// g_para.flag = 1;
// strcpy( g_para.at, argv[2] );
// }
//
// return 0;
// }
//*/
// Command line:
// Command line:
// Command line:
int main( int argc, char * argv[] )
{
int ret;
// at+cmgs=16
// 08 91 68 31 08 20 01 05 F0 11
// 00 0B 81 31 18 07 25 56 F4 00
// 00 FF 02 31 19
// BYTE msgdata[] = {
// 0x08,0x91,0x68,0x31,0x08,0x20,0x01,0x05,0xF0,0x11,
// 0x00,0x0B,0x81,0x31,0x18,0x07,0x25,0x56,0xF4,0x00,
// 0x00,0xFF,0x02,0x31,0x19,0x1A,0x0D,0x0A };
char msgdata[256] = "0891683108200105F011000B813118072556F40000FF023119";
printf( "Instant messages....\n" );
//*
// parse Arguments
// char ss[256] = ;
if ( argv[1]!=NULL )
{
strcpy( g_para.devname, "/dev/usb/tts/" );
strcat( g_para.devname, argv[1] );
}
else
strcpy( g_para.devname, "/dev/usb/tts/1" );
g_para.baudrate = 115200;
// open debug serial port & usb serial port
// open usb serial port
char para[256] = "";
sprintf( para, "%s,%d,8,1,n", g_para.devname, g_para.baudrate );
PrintStr( para );
ret = OpenSerial( para );
if ( ret<0 )
{
Err("OpenSerial: ret=%d\n", ret);
return -1;
}
// receive data
char data[1024];
int len;
printf("Open serial success.\nInput exit to quit program.\n");
while (1)
{
//printf("input: ");
scanf( "%s", data );
if ( strcmp(data, "exit")==0 )
break;
else if ( strcmp(data, "msg")==0 ) {
// strcat( msgdata, 0x1a );
msgdata[strlen(msgdata)] = 0x1a;
strcat( msgdata, "\r\n" );
len = strlen(msgdata);
memcpy( data, msgdata, len );
}
else {
strcat( data, "\r\n" );
len = strlen(data);
}
PrintStr( data );
PrintInt( len );
if (0 >= (ret = SerialPortSend( data, len )) )
{
Err( "Send error ret=%d\n", ret );
//break;
}
}
SerialPortClose();
//*/
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -