⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mascdriverdlg.h

📁 mobitex 网络的终端采用的串口通信程序。目前正在使用
💻 H
📖 第 1 页 / 共 2 页
字号:
	//设置电源为普通模式
	BOOL setBatteryNormalMode(void);
	
	//设置 DCD 信号
	BOOL ConfigDCDsingal(void);
	
	//关闭发射天线
	BOOL transceiverOffFU(void);
	
	//打开发射天线
	BOOL transceiverOnFU(void);
	
	// 此函数不被爱立信的modem支持
	BOOL ActiveExCall_Indication(void);  //设置DCD信号的函数//设置DCD信号的函数//激活外部指示
	
	BOOL ChangeModeInactive(void);                  //F N 发送一个INACTIVE MPAK 到网络,此命令在爱立信的 MODEM上未通过
	BOOL ChangeModeActive(void);                    //F B 发送一个ACTIVE MPAK 到网络,此命令在爱立信的MODEM上未通过
	BOOL requestProductInfoSoftwareID(void);        //F Z01得到软件序列号
	BOOL requestSoftwareVer(void);                  //F Z02得到软件版本号
	BOOL requestProductInfoHardwareNo(void);        //F Z03得到硬件序列号
    BOOL requestRadioInfo(void);                    //F Z04得到音频信息
	
	BOOL ChangeCommPara(int para);                  //F X  改变通信参数()
										        	//01  1200bps
											        //02  2400bps
											        //03  4800bps
											        //04  9600bps
	//此命令用于初始化,激活,取消活动状态 modem 中的临时表
	//图tnum表示临时缺省表的表列 信道的对数.如果为零,表示取消活动,删除
	//临时表,并且得到缺省表.m表示此桢中信道的数量
	//list[]中存储的是信道的编号.按上行,下行的规律排列.len 存储的是 list 的个数
	//此函数没有完全通过测试,只有 的删除缺省列表可用.如果没有list 项.将 len设为 零.
	BOOL ChangeTempDefList(int tnum, int num, int m, int  list[], int len);//改变临时channels list
	BOOL requestModemTranseiverBatteryLevel(void);   //F A05得到天线电池状态
	BOOL requestModemExStatus();                     //F A04得到外置电池状态
	BOOL requestModemBatterStatus(void);             //F A03  得到电池状态
	BOOL requestModemRSSI(void);                     //F A02 得到RSSI
	BOOL requestModemPower();                        //F A01  得到电池模式
	BOOL turnTransmitterOn();                        //F X1
	BOOL turnTransmitterOff(void);                   //F X0
	BOOL turnOffModem(void);                         //F O   关闭 modem
	BOOL stopDriver();                               //关闭接口,应先关闭modem 在收到 modem 已关闭后,关闭串口
	BOOL requestTerminalMan(void);                   //F P command
	BOOL ChangeNetworkId(int mobileTx, int mobileRx); //mobileTx,发送 transmitter NetworkId //mobileRx,接收 transmitter NetworkId 
	BOOL CancelLastMpak(void);                        //F I取消发送MPAK 
	BOOL sendMpak(struct  mpakst mpak);      //发送Mpak
//用户接口函数相当于方法END-----------------------------------------------------------
	
//接口内部使用的函数BEGIN-----------------------------------------------------------
	CString EncodeFrame(CString frame);             //编码函数,负责添加 长度、校验、开始、结束位
	CString IntToPaddedHexString(int value, int length);//将数字变为ASCII的格式
    unsigned char NackCriteriaFulfilled(unsigned char* frametmp);     //检查是否为错误的信息包
	unsigned char AckCriteriaFulfilled(unsigned char* frametmp);       //检查是否为正确的信息包 

	BOOL UserSentInfoFrame(CString  frame,bool Flag);         //用户发送信息接口函数
	void Handle_F_XXcommand(CString frame);         //负责处理F01,F02,F03,F04 等的函数
	void HandleQCommand(CString frame);             //负责处理Q A命令中的函数
	void HandlePACommand(CString frame);            //负责处理P A命令的函数
	void SentInfoFrame(CString  frame);             //接口使用的发送信帧函数
	void HandleFrame(CString frame);                //处理收到的信息包,已经将长度、校验、开始、结束位去掉
	void HandleRCommand(CString frame);             //返回没有发送出去的包
	void HandleNCommand(CString frame);             //返回出错的包
	void HandleMCommand(CString frame);
	void HandleECommand(CString frame);             //返回原因,错误原因,在DATA中,和 M COMMAND的处理方式相同 
	void HandleFCommand(CString frame);
	void Handle_FA_Command(CString frame);
	void Handle_F_Zcommand(CString frame);
	void InformationFrameReceived(CString  frame);  //此函数处理完整的信息包
	void MascFrameReceived(CString frame);          //此函数处理完整的信息包
//接口内部使用的函数BEGIN-----------------------------------------------------------

//控制信息镇处理函数BEGIN-------------------------------------------------------------
	void SackFrameReceived(void);
	void SensFrameReceived(void);
	void RackFrameReceived(void);
	void NackFrameReceived(void);
	void AckFrameReceived(CString frame);
//控制信息镇处理函数END---------------------------------------------------------------	

//初始化函数GEGIN---------------------------------------------------------------------	
	void InitComm();
	void InitInterface(void);
	void InitDriver(void);
//初始化函数END-----------------------------------------------------------------------	

//变量定义,所有的标志位全部由flag 开头 BEGIN------------------------------------------
//    BOOL flagCloseDriver;                        //在调用关闭modem时调用
	
	
	BOOL flagInitSent;                             //用于指明当前初始化过程是否已经发送过初始化命令
	BOOL flagInitReceived;                         //用于指明当前初始化过程是否已经收到了初始化命令
	BOOL ModemOffFlag;                             //当前MODEM的状态

	
	CString huanchongframe;                        //在modem 没有反应的情况下 如果初始化接口,
	                                               //向用户返回的数据
	
	int DriverCounter;                             //在驱动加载后,用于计算多长时间没有反映的定时器
	BOOL flagInitDrvSucced;                          //在规定的时间内没有反应的话,就重新加载
										 
	
	
	BOOL Link_Busy;                               //网络忙,不能发送
	BOOL flagAllowToSent;                          //用户信息帧发送允许标志
	BOOL flagMpakSentSingle;                      //发送到Modem的信息已成功发送到网上
	
	int  errorcode;                                //LastError,上次出错的信息 出值为-1
	char lastSentSequ;                             //上次发送序号
	char lastReceivedSequ;                         //上次接受序号
	BOOL flagNetworkOnline;                       //当前modem and 网络的 connection状态
	
//	CStringList outFrameQueue;                     //发送信息帧队列 
	CString lastSentFrame;                         //记录上次发送的信息帧 nack
	

	UINT  nIDEvent;                                //时钟的表示.                                           	
	
	int  Counter;                                  //计数器,初值为零.每十秒加一.发送信息帧时初始化.
	BOOL flagResetTime;                            //若值为真,则停止计数,相当于时间停止
	
	BOOL flagSensRestTime;                         //若值为真,则停止计数,相当于时间停止
	int  SensCounter;                              //Sens 的计时器
	
	BOOL flagSensNo;                               //Sens 序号,发送时为由零变为1,收到应答时变为0
                                                   //检查是否为1,检查之后若为1 则再变为零

	CString inFrame;                               //从串口收到的原始字符串
	
	
	CString m_V1;                                  //从串口收到的单个字符串
//变量定义END---------------------------------------------------------------------------
	
	
	
	CMascdriverDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CMascdriverDlg)
	enum { IDD = IDD_MASCDRIVER_DIALOG };
	CEditExpand	m_dbg_edit;
	CEdit	m_msg_edit;
	CEdit	m_masc_edit;
	CComboBox	m_comboxSendCommand;
	CButton	m_Roll;
	CMSComm	m_mscomm;
	int		m_CommPortNum;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMascdriverDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CMascdriverDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnOnCommMscomm1();
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnButton14();
	afx_msg void OnRadioinfo();
	afx_msg void OnChangeCommpara();
	afx_msg void OnChangeCommPara();
	afx_msg void OnButton21();
	afx_msg void OnButton22();
	afx_msg void OnStopRoll();
	afx_msg void OnRoll();
	afx_msg void OnKillfocusComboxSendcommand();
	afx_msg void OnOpenAndMascStart();
	afx_msg void OnClose();
	afx_msg void OnLog();
	afx_msg void OnDblclkComboxSendcommand();
	afx_msg void OnCommand();
	afx_msg void OnSendMpakMessage();
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnCommPort();
	afx_msg void OnMove(int x, int y);
	afx_msg void OnSetfocusList3();
	afx_msg void OnKillfocusList3();
	afx_msg void OnMenuitem32795();
	DECLARE_EVENTSINK_MAP()
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:

};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MASCDRIVERDLG_H__4F3639A7_9A07_11D5_8BEB_444553540000__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -