📄 com.h
字号:
/************************** (H) 2005 485表项目 *******************************
项 目: 485表项目
编译环境 : IARAVR 编译器 4.10A
模块名称 : Com.h
版 本 : V 1.0
建立时间 : 2008-6-3 21:51
修改时间 : 2008-6-3 15:23
作 者 : 郝瑜云
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
功能描述 : 645通讯子程序 HEAD
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
1.
******************************************************************************/
#include "Define.h"
#define _COM2_HW_EN // 定义允许红外口
#define _OVER_50KWH_UNCLEAR // 定义超过50kwh,电量不清零
//#define _ZHENGZHOU_V20_DEFINE // 定义郑州规约2.0版
// 定义串口通讯相关
//*****************************************************************************
#define _COM_ADD_STRT 1 // 定义DL645 表地址起始位置
#define _COM_CTR_CODE 8 // 定义DL645 控制码位置
#define _COM_DATA_LENGTH 9 // 定义DL645 数据长度位置
#define _CMDL 10 // 定义DL645 命令字低字节位置
#define _CMDH 11 // 定义DL645 命令字高字节位置
#define _COM_DATA_STRT 12 // 定义DL645 数据起始位置
#define _PROG_TIMER_CNT 300 // 定义编程键延迟时间
#define _PSW_ERRO_CNT 5 // 定义编程密码错误允许次数
// 串口波特率相关定义
//*****************************************************************************
#define _BAUD 1200 // 定义波特率 1200 bps
#define _UBRR (INT16U) ((_FOSC/16/_BAUD)-1) // 1200 bps 串口1初始化
//#define _TCNT1_LOAD (INT8U)(0xFF-(_FOSC/64/800)) // 1200 bps 定时器起始值 OSC:8.000M
//#define _TCNT1_RELOAD (INT8U)(0xFF-(_FOSC/64/1200)) // 定时1ms 定时器0重载值 OSC:8.000M
//#define _OCR1A_LOAD (INT16U) (_FOSC/76000) // 定义TIMER1输出38k方波加载值
// I/O 口特殊定义
#define _SET_IO_TXD2() CLRBIT(PORTB,IO_TXD2) // 模拟串口输出定义
#define _CLR_IO_TXD2() SETBIT(PORTB,IO_TXD2)
//-----------------------------------------------------------------------------
//----------------------------- COM 通讯模块函数 ------------------------------
extern void Protlcol_New(void);
extern INT8U DLT645Explain(INT8U rxcnt);
extern INT8U Comm_Data_Check_DLT645(INT8U *buff);
extern INT16U DataAddCS_ZhengZhou(INT8U *datap,INT8U count);
extern void DataAdd33(INT8U *datap,INT8U count);
extern void DataDec33(INT8U *datap,INT8U count);
extern INT8U DataAddCS(INT8U *datap,INT8U count);
extern INT8U PasswordCheck(INT8U start);
extern void CheckProgKeyHigh(void);
extern void CheckProgKeyHigh(void);
extern void Com1Reset(void);
extern void Com2Reset(void);
/*************************** END OF SUB **************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -