?? uart.c
字號:
#include<iom16v.h>
#include<macros.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: 16M
// 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 + -