⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usart1.c

📁 串口是单片机重要的功能部件
💻 C
字号:
#include <avr/io.h>

#define uchar unsigned char //8 bit
#define uint unsigned int    //16 bit
//#define F_cpu 3686400
#define F_cpu 7372800
//#define F_cpu 1000000
void DelayMs(long int a) //延时0.2ms
{
 uint b;
 for(;a!=0;a--)
  {for(b=1000;b!=0;b--) 
   ;
  }
}
void USART_Init(long int baud)
{
 uint temp;
 temp=F_cpu/baud/16-1;
 UBRRH=(uchar)(temp>>8); //写波特率寄存器
 UBRRL=(uchar)temp;//uchar为8位,它会截取16位temp数据中的低8位
 
 UCSRB=(1<<RXEN)|(1<<TXEN); //接收发送使能
 UCSRC=(1<<URSEL)|(0<<USBS)|(1<<UCSZ0)|(1<<UCSZ1);  //异步,1个停止位,8个数据位
}
void USART_Transmit(uchar data)
{
 while(!(UCSRA&(1<<UDRE)));  //等待数据发送完
 UDR=data;
}
unsigned char USART_Receive(void) 
{
 while(!(UCSRA&(1<<RXC)));
 return UDR;
 }
void main(void)
{
 long int a=10000;
 int b,c;
 USART_Init(9600); //波特率9600 初始化串口
 DelayMs(1000);
 //b=sizeof(a);
while(1)
{
USART_Transmit(0xff);
USART_Transmit(a>>24);//可以直接显示f
USART_Transmit(a>>16);
USART_Transmit(a>>8);
USART_Transmit(a);
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -