📄 uart.c
字号:
#include <iom16v.h>
#pragma interrupt_handler USART_Recive_Complete_handler:12
#pragma interrupt_handler USART_Data_Register_Empty_handler:13
#pragma interrupt_handler USART_Transmit_Complete_handler:14
void USART_Init(void)
{
//{{WIZARD_MAP(UART)
// crystal: 8M
// Baud Rate: 9600
// Character Size: 8-bit
// Mode: Asynchronous
// Parity: Disabled
// Stop Bit: 1-bit
UBRRL = 0x33;
UBRRH = 0x00;
UCSRA = 0x00;
UCSRC = 0x86;
UCSRB = 0x18;
//UCSRB|=0X80;//开接收结束中断
//UCSRB|=0X40;//开发送结束中断
//UCSRB|=0X20;//开数据寄存器空中断
}
void USART_Transmit(unsigned char data)
{
/* 等待发送缓冲器为空 */
while ( !( UCSRA & (1<<UDRE)) );
/* 将数据放入缓冲器,发送数据 */
UDR = data;
}
unsigned char USART_Recive(void)
{
/* 等待接收数据*/
while ( !(UCSRA & (1<<RXC)) );
/* 从缓冲器中获取并返回数据*/
return UDR;
}
void USART_Recive_Complete_handler(void)
{
}
void USART_Data_Register_Empty_handler(void)
{
}void USART_Transmit_Complete_handler(void)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -