写一个Atmetl128的串口通讯程序
时间: 2023-03-26 22:02:47 浏览: 80
好的,我可以回答这个问题。以下是一个Atmetl128的串口通讯程序的示例代码:
#include <avr/io.h>
#define F_CPU 16000000UL
#define BAUD 960
#define MYUBRR F_CPU/16/BAUD-1
void USART_Init(unsigned int ubrr) {
UBRRH = (unsigned char)(ubrr>>8);
UBRRL = (unsigned char)ubrr;
UCSRB = (1<<TXEN)|(1<<RXEN);
UCSRC = (1<<UCSZ01)|(1<<UCSZ00);
}
void USART_Transmit(unsigned char data) {
while (!(UCSRA & (1<<UDRE)));
UDR = data;
}
unsigned char USART_Receive(void) {
while (!(UCSRA & (1<<RXC)));
return UDR;
}
int main(void) {
USART_Init(MYUBRR);
while (1) {
unsigned char data = USART_Receive();
USART_Transmit(data);
}
return ;
}
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)