uart.h

来自「Atmel AVR Mega324 的Uart驱动」· C头文件 代码 · 共 41 行

H
41
字号
#ifndef __UART_H__
#define __UART_H__

#include <iom324p.h>
#include "typedef.h"

#define OFF                     (0)
#define ON                      (1)

//内部使用的宏定义
#define CONCAT(a, b)       a ## b
#define CONCAT3(a, b, c)   a ## b ## c

//端口以及位定义
#define PORTREG(No)        CONCAT(PORT, No)
#define PINREG(No)         CONCAT(PIN, No)
#define UDRREG(No)         CONCAT(UDR, No)
#define DDRREG(No)         CONCAT(DDR, No)
#define TXCBIT(No)         CONCAT(TXC, No)
#define RXCBIT(No)         CONCAT(RXC, No)
#define RXENBIT(No)        CONCAT(RXEN, No)
#define TXENBIT(No)        CONCAT(TXEN, No)
#define URSELBIT(No)       CONCAT(URSEL, No)

//串口初始化需要寄存器
#define UBRRHREG(No)       CONCAT3(UBRR, No, H)
#define UBRRLREG(No)       CONCAT3(UBRR, No, L)
#define UCSRAREG(No)       CONCAT3(UCSR, No, A)
#define UCSRBREG(No)       CONCAT3(UCSR, No, B)
#define UCSRCREG(No)       CONCAT3(UCSR, No, C)
#define UCSZBIT(No1, No2)  CONCAT3(UCSZ, No1, No2)

extern void UartInit (uint8 port);
extern void UartPuts (uint8 port, uint8 *buffer, uint8 len);
//extern void UartPutChar (uint8 port, uint8 ch);
extern void UartTxCtrl(uint8 port, uint8 opt);
//extern uint8 Add_byte_to_receive_buf(uint8 Uart_num, uint8 * receive_buf, uint8 data);
extern uint8 Uart_enable_send(uint8 Uart_num);

#endif

⌨️ 快捷键说明

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