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

📄 uart.h

📁 AVR单片机基础上的以太网协议编程
💻 H
字号:
/**************************************************************************
**
**    文件: UART.h
**    描述: 该文件完成与串口相关的宏定义和数据类型的定义
**
*************************************************************************/

#ifndef UART_h
#define UART_h

#include "Define.h"

/* Uart parameters  and Timer0 parameter */
#define Fosc             8
#define T0_OSC_PER_TICK  6

#define UBRR_L   0x33     //fosc=8M,BAUD=9.6kbps
#define UBRR_H   0x00

/* 3.5bit time */ 
#define UART_BYTETIMEOUT  (uint)((double)(((double)1000 * (double)Fosc * (double)20 )/((double)9.6 * (double)T0_OSC_PER_TICK * (double)UART_Baudrate)))

/* 50ms */
#define UART_RESPTIMEOUT  (uint)((double)(((double)1000 * (double)Fosc * (double)30 )/ (double)T0_OSC_PER_TICK ))
 

/* define static parameters */
#define UART_TXBUFFER_SIZE   77  /* use for UART,interrupt communication */
#define UART_RXBUFFER_SIZE   77  /* use for UART,interrupt communication */
#define DPT_CMD_NUMBER   28

#define UART_RECV_WAIT_TIME      3    /* 3x10ms=30ms   */
#define UART_IDLE_TIMER_COUNT    18   /* 18x10ms=180ms */
#define UART_WATCHDOG_TIME       250  /* 250x8ms=2s    */

#define UART_REQUEST  0x55
#define UART_RESPONSE 0xAA

#define CMD000LENGTH 59
#define CMD011LENGTH 4
#define CMD021LENGTH 4
#define CMD023LENGTH 4
#define CMD012LENGTH 4
#define CMD022LENGTH 4
#define CMD024LENGTH 4
#define CMD014LENGTH 2
#define CMD025LENGTH 2
#define CMD034LENGTH 8

#define CMD035LENGTH 8
#define CMD036LENGTH 8
#define CMD071LENGTH 1
#define CMD072LENGTH 1
#define CMD128LENGTH 22
#define CMD138LENGTH 28
#define CMD150LENGTH 2
#define CMD151LENGTH 2
#define CMD133LENGTH 7
#define CMD149LENGTH 7

#define CMD173LENGTH 1
#define CMD174LENGTH 1
#define CMD165LENGTH 4
#define CMD163LENGTH 1
#define CMD161LENGTH 60
#define CMD162LENGTH 13
#define CMD001LENGTH 30
#define CMD079LENGTH 13

typedef struct
{
	uchar	cmd000[CMD000LENGTH];
	uchar	cmd128[CMD128LENGTH];
	uchar	cmd138[CMD138LENGTH];
	uchar	cmd001[CMD001LENGTH];
	
	uchar	cmd011[CMD011LENGTH];
 	uchar	cmd021[CMD021LENGTH];
	uchar	cmd023[CMD023LENGTH];
	uchar	cmd012[CMD012LENGTH];
	uchar	cmd022[CMD022LENGTH];
	uchar	cmd024[CMD024LENGTH];
	
 	uchar	cmd014[CMD014LENGTH];
	uchar	cmd025[CMD025LENGTH];
	uchar	cmd034[CMD034LENGTH];
	uchar	cmd035[CMD035LENGTH];
	uchar	cmd036[CMD036LENGTH];
	uchar	cmd071[CMD071LENGTH];
	uchar	cmd072[CMD072LENGTH];
	uchar	cmd150[CMD150LENGTH];
	uchar	cmd151[CMD151LENGTH];
	uchar	cmd133[CMD133LENGTH];
	
	uchar	cmd149[CMD149LENGTH];
	uchar	cmd173[CMD173LENGTH];
	uchar	cmd174[CMD174LENGTH];
	uchar	cmd165[CMD165LENGTH];
	uchar	cmd163[CMD163LENGTH];
	uchar	cmd161[CMD161LENGTH];
	uchar	cmd162[CMD162LENGTH];
	uchar	cmd079[CMD079LENGTH];//additional command for IP address changes
}DPT_t_OBJECT;

typedef struct
{
    uchar *addr;
    uchar size;
}UART_t_CmdData;

#endif

/******************* End Of File **********************/

⌨️ 快捷键说明

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