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

📄 uart.h

📁 基于ARM的UART串口驱动程序
💻 H
字号:
#ifndef __UART__H_
#define __UART__H_


/*** I/O口模拟UART控制信号(低电平有效) ***/
//ARM->PC流控信号
#define CTS0                        (1 << 4)
#define	CTS0_HIGH()                 (IO0SET |= CTS0)
#define	CTS0_LOW()                  (IO0CLR |= CTS0)
#define CTS0_STATUS()               (IO0PIN & CTS0)
//PC->ARM流控信号
#define RTS0                        (1 << 7)
#define RTS0_STATUS()               (IO0PIN & RTS0)

/*** 网络口(UART1)I/O口操作 ***/
#define CTS1_STATUS()               (IO0PIN & (1 << 11))
#define DSR1_STATUS()               (IO0PIN & (1 << 12))

#define U1RTS1                      (1 << 10)
#define RTS1_STATUS()               (IO0PIN & U1RTS1)
#define RTS1_HIGH()                 (IO0SET |= U1RTS1)
#define RTS1_LOW()                  (IO0CLR |= U1RTS1)

/*** 串口驱动相关函数接口 ***/
void uart_usr_init(void);               //初始化用户口(UART0)
sf16 uart_usr_tx(u8 buf[], u16 len);    //用户口发送(UART0)
sf16 uart_usr_rx(u8 buf[], u16 len);    //用户口接收(UART0)
u8 uart_usr_auto_baud(void);            //用户口速率自适应
void uart_usr_set_baud(u32 baud_rate);  //设置用户口波特率(UART0)

void uart_net_init(void);               //初始化网络口(UART1)
sf16 uart_net_tx(u8 buf[], u16 len);    //网络口发送(UART1)
sf16 uart_net_rx(u8 buf[], u16 len);    //网络口接收(UART1)
void uart_net_set_baud(u32 baud_rate);  //设置网络口波特率(UART1)
void tx_buf_data(void);                 //发送任务已将数据发送完的检测

void cap_isr__(void);

#endif

⌨️ 快捷键说明

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