UART串口通信程序

来源:本站
导读:目前正在解读《UART串口通信程序》的相关信息,《UART串口通信程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《UART串口通信程序》的详细说明。
简介:本文给大家提供一个UART串口通信的实验程序。

/*

UART接口实险。

1、串口以查询方式接收数据,并分别将数据显示的PB口和返回。

2、内部1 M晶振,程序采用单任务方式,软件延时。

3、进行此实验请插上JP1的所有8个短路块,JP7(LED_EN)短路块。

4、通过此实验,可以对串口通信有个初步认识。

*/

#include "iom16v.h"
/*串口初始化函数*/

void Uart_Init(void) {

UCSRA = 0x02;/*倍速*/

UCSRB = 0x18;/*允许接收和发送*/

UCSRC = 0x06;/*8位数据*/

UBRRH = 0x00;

UBRRL = 12;/*9600*/

}

/*数据发送,查询方式*/

void Uart_Transmit(unsigned char i) {

while (!(UCSRA & (1<<UDRE)));/* 等待发送缓冲器为空*/

UDR = i;/* 发送数据*/

}

/*数据接收,查询方式*/

unsigned char Uart_Receive( void ) {

while (!(UCSRA & (1<<RXC)));/* 等待接收数据*/

return UDR;/* 获取并返回数据*/

}

/*主函数*/

void main(void) {

unsigned char temp;
DDRA = 0x00;/*方向输入*/

PORTA = 0xFF;/*打开上拉*/

DDRB = 0xFF;/*方向输出*/

PORTB = 0xFF;/*电平设置*/

DDRC = 0x00;

PORTC = 0xFF;

DDRD = 0x02;

PORTD = 0xFF;

Uart_Init();

while (1) {

temp = Uart_Receive();/*等待接收数据*/

PORTB = ~temp;/*显示低电平有效*/

Uart_Transmit(temp);/*发送收到的数据*/

}

}

提醒:《UART串口通信程序》最后刷新时间 2024-03-14 01:00:14,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《UART串口通信程序》该内容的真实性请自行鉴别。