日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

atmega8 例程:USART串口通信

單片機(jī)
2018-12-12 13:40
關(guān)鍵字: atmega8 usart 串口通信
收藏

/*****************************************************************

* 函數(shù)庫(kù)說(shuō)明:ATMEGA8 串口通信

* 版本: v1.0

* 說(shuō)明: 查詢發(fā)送、中斷接收

*

******************************************************************

*注意: RXD PD0

* TXD PD1

******************************************************************/

#include

#include interrupt.h>

//晶振頻率

#define F_CPU 6000000UL

//波特率

#define BAUD 9600

/*****************************************************************

** 名稱:void Init_Usart(void)

** 功能:atmega8 串口初始化

** 入口參數(shù):無(wú)

** 出口參數(shù):無(wú)

** 使用說(shuō)明:查詢發(fā)送,中斷接收,8位數(shù)據(jù)位,1位停止位,9600波特率

*****************************************************************/

void Init_Usart(void)

{

//設(shè)置波特率

UBRRH = (F_CPU / BAUD / 16 - 1) / 256;

UBRRL = (F_CPU / BAUD / 16 - 1) % 256;

//接收中斷使能,接收使能,發(fā)送使能

UCSRB |= (1 << RXCIE) | (1 << RXEN) | (1 << TXEN);

}

/*****************************************************************

** 名稱:void Send_Char(char data)

** 功能:atmega8 串口發(fā)送字符

** 入口參數(shù):data 發(fā)送字符

** 出口參數(shù):無(wú)

** 使用說(shuō)明:查詢發(fā)送

*****************************************************************/

void Send_Char(char data)

{

//查詢方式發(fā)送

while(!(UCSRA & (1 << UDRE)));

UDR = data;

}

//主函數(shù)

int main(void)

{

Init_Usart();

//總中斷使能

sei();

//發(fā)送一個(gè)字符a

Send_Char('a');

while(1);

return 0;

}

//定義接收字符

volatile char rev_data;

//串口接收中斷

SIGNAL(SIG_UART_RECV)

{

rev_data = UDR;

//發(fā)送接收到的字符

Send_Char(rev_data);

}


相關(guān)推薦