📄 fmmodem.~cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "fmModem.h"
#include "UartPort.h"
#include "Gprsproc.h"
#include "GprsNet.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmModem *frmModem;
//volatile unsigned int StTick;
volatile unsigned int OldTick;
unsigned long __stdcall ProcThreadFunc(void *lpParam);
volatile unsigned char backstate;
volatile unsigned char entimer;
volatile unsigned int crTick;
#define StTick GetTickCount()
unsigned int proflag;
//---------------------------------------------------------------------------
__fastcall TfrmModem::TfrmModem(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmModem::FormCreate(TObject *Sender)
{
SPC = new TComm(SPC);
SPC->OnReceiveData = SPCReceiveData;
btPortState->Caption="串口关闭";
CommInition();
WNetInterfaceInit();
}
//---------------------------------------------------------------------------
extern unsigned char M_NetReset(void);
unsigned long __stdcall ProcThreadFunc(void *lpParam)
{
unsigned char cRet;
if (proflag==2)
{
int rtn=M_NetReset();
if (rtn==N_RESULT_SUCCESS)
{
DebugPrint("GPRS模块复位成功\r\n");
}
else
{
DebugPrint("GPRS模块复位失败\r\n");
}
cRet=WNetInit();
if (cRet==N_RESULT_SUCCESS)
{
DebugPrint("GPRS模块初始化成功\r\n");
}
else
{
DebugPrint("GPRS模块初始化失败\r\n");
}
}
if (proflag==1)
GPRS_func();
return 0;
}
//---------------------------------------------------------------------------
void __fastcall TfrmModem::SPCReceiveData(TObject *Sender,void *Buffer,Word BufferLength)
{
//
PortReceive((unsigned char *)Buffer,BufferLength);
}
void __fastcall TfrmModem::FormDestroy(TObject *Sender)
{
//
}
//---------------------------------------------------------------------------
void __fastcall TfrmModem::CommInition(void)
{
SPC->CommName="COM1";
SPC->BaudRate=115200;
SPC->ParityCheck = false;
SPC->StopBits = _1;
// SPC->Parity = Even;
SPC->Outx_XonXoffFlow = false;
SPC->StartComm();
}
void __fastcall TfrmModem::btOpenGprsClick(TObject *Sender)
{
//
proflag=1;
DebugPrint("开启模块\r\n");
unsigned long procThreadID;
HANDLE GprsProcHandle = CreateThread(NULL, 0, ProcThreadFunc, NULL, 0, &procThreadID);
CloseHandle(GprsProcHandle);
}
//---------------------------------------------------------------------------
void __fastcall TfrmModem::btGprsInitionClick(TObject *Sender)
{
DebugPrint("GPRS初始化...\r\n");
backstate=0;
unsigned long InitThreadID;
HANDLE ModemInitHandle = CreateThread(NULL, 0, ProcThreadFunc, NULL, 0, &InitThreadID);
CloseHandle(ModemInitHandle);
}
//---------------------------------------------------------------------------
void __fastcall TfrmModem::btPortStateClick(TObject *Sender)
{
if (btPortState->Caption=="串口关闭")
{
btPortState->Caption="串口打开" ;
SPC->StopComm();
}
else
{
btPortState->Caption="串口关闭";
SPC->StartComm();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmModem::btClearClick(TObject *Sender)
{
mmMsg->Lines->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TfrmModem::btGprsResetClick(TObject *Sender)
{
proflag=2;
DebugPrint("GPRS模块复位\r\n");
unsigned long procThreadID;
HANDLE GprsProcHandle = CreateThread(NULL, 0, ProcThreadFunc, NULL, 0, &procThreadID);
CloseHandle(GprsProcHandle);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -