modbus_ascii.h

来自「44B0的串口接收发送程序 **** 现在共享这样的代码有些过时了」· C头文件 代码 · 共 65 行

H
65
字号
#ifndef MODBUS_ASCII_H
#define MODBUS_ASCII_H

#define BAUD			(57600)
#define FRAME_START		('(')
#define FRAME_END		(')')


/****************************************************************/
//
//							接收模块
//
/****************************************************************/

//#define RxdBufLen		(1024*4)
//#define FrameBufLen		(256)
#define RxdBufLen		(64)
#define FrameBufLen		(32)

typedef struct
{
	char * volatile Start;
	char * volatile End;
	volatile int FrameLen;
}
FRAMEPT;

typedef struct
{
	volatile char Buf[RxdBufLen];			//字节数组
	char *volatile pWr;
	volatile int ByteCnt;							//接收Byte计数器
	volatile FRAMEPT FramePt[FrameBufLen];	//帧指针数组
	volatile int FrameCnt;
	FRAMEPT *volatile pFrameWr;				//指向帧指针数组的写指针
	FRAMEPT *volatile pFrameRd;				//指向帧指针数组的读指针
}
RXDBUF;

int Modbus_GetFrame(char *pBuf);
void Modbus_Uart1_Init(int mclk,int baud);


/****************************************************************/
//
//							发送模块
//
/****************************************************************/
#define TxdBufLen	(256)

typedef struct
{
	volatile char Buf[TxdBufLen];
	char *volatile pWr;
	char *volatile pRd;
	volatile int ByteCnt;
}
TXDBUF;

int Modbus_WrFrame(const volatile char *pBuf);

#endif


⌨️ 快捷键说明

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