eecs-bsp-test-code-2/inc/uart1.h

58 lines
5.2 KiB
C
Raw Permalink Normal View History

2022-08-22 14:51:00 +08:00
/**********************************Uart1串行通信模块 V2.0 说明 ************************************************************************
Uart1模块提供Uart1模块初始化函数3,1enumEventRxd
(1) Uart1Init(unsigned long band)Uart1模块初始化函数
unsigned long band定义串口1的通信波特率bps81
(2) void SetUart1Rxd(char *RxdPt, unsigned int Nmax, char *matchhead, unsigned int matchheadsize);
1enumEventRxd事件
char *RxdPt
unsigned int Nmax65535Nmax后 202252
char *matchhead
unsigned int matchheadsize
Nmax=1enumUart1EventRxd事件
0 < matchheadsize < Nmaxmatchheadsize个字节与*matchhead处数据完全匹配Nmax数据时产生enumEventRxd事件
matchheadsize = Nmax
matchheadsize=0 matchheadsize > NmaxNmax数据时产生enumEventRxd事件
enumEventRxd事件发出后 202252
(3) char Uart1Print(void *pt, unsigned int num)1uS左右时间
void *pt
unsigned int num
enumTxOKsys正确接受sys将尽硬件资源最大可能及时发送数据
enumTxFailure
10.1mS10mS
"异步"
(4) char GetUart1TxStatus(void) Uart1发送状态
enumUart1TxFree:1
enumUart1TxBusy,1
(5) Uart1接收事件enumEventUart1Rxd
121mS
(1) 12.
(2) 12
(3) 12
a1USB接口上2EXT扩展485485
b500800 bps
c
18008400450 2021328 2021118
*/
#ifndef _uart1_H_
#define _uart1_H_
extern void Uart1Init(unsigned long band); //串口初始化,参数:波特率
extern void SetUart1Rxd(void *RxdPt, unsigned int Nmax, void *matchhead, unsigned int matchheadsize); //设置接收条件数据包存放位置、大小包头匹配字符、匹配字符个数。符合条件的包将产生enumEventRxd事件
extern char Uart1Print(void *pt, unsigned int num); //发送数据包。非阻塞函数。数据包位置、大小。返回值enumTxOK调用成功enumTxFailure失败串口忙上一数据包未发完
extern char GetUart1TxStatus(void); //获取串口1发送状态,enumUart1TxFree:串口1发送空闲, enumUart1TxBusy,串口1发送正忙
enum Uart1ActName {enumUart1TxFree=0,enumUart1TxBusy,enumUart1TxOK,enumUart1TxFailure};
#endif