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

📄 uart.c

📁 嵌入式单片机控制温度传感的无线收发方案!
💻 C
字号:
#include <iom8v.h>
#include <macros.h>
#include "confg.h"
/*****************************************/
//文件名:usart int .c
//功能:中断模式串口通信的应用
//目标MC U:ATYnega8
//晶振8MHZ
/*****************************************/
//通信波特率为9600(8位数据,无校验,1位停止位,无数据流控制)。

#define fosc 4000000   //晶振频率
#define baud 9600      //波特率



void putch(unsigned char c)
{
      //等待写入UDR的字符被送到发送移位寄存器
        while(!(UCSRA&(1<<UDRE)));
          UDR=c;
}
//字符输入函数
unsigned char getch(void)
{
//等待接收字符
while(!(UCSRA&(1<<RXC))) ;
        return  UDR;
}

//字符串输出函数
int putss(char  * s )
{
while(*s)
	{
	putch(*s);
	s++;
	}
return  1;
}

//含回车换行的字符串输出函数
void puts_hh(char *s)
{
while(*s)
	{
putch(*s);
s++;
	}
putch(0X0A);//回车
putch(0X0D);//换行
}
//UART初始化
void uart_init(void)
{
      UCSRB=(1<<RXEN)|(1<<TXEN);
      UBRRL=(fosc/16/baud-1)%256;
      UBRRH=(fosc/16/baud-1)/256;
    UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);//8位数据+1位停止位
    //允许发送和接收,接收完成中断允许
     
}

⌨️ 快捷键说明

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