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

📄 com.h

📁 本代码以AVR单片机为主控制器
💻 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 + -