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

📄 uart.c

📁 m64的串口程序
💻 C
字号:
//-----------------------------------------------------------
//程序由AVR辅助开发工具V2.0.3自动生成     
//MCU系统的处理器为:    ATMega64
//MCU系统的晶振频率:    7.3728 Mhz
//-----------------------------------------------------------

#include <iom64v.h>
#include "uart.h"

unsigned char rx0_buff = 0;       //串口0接收中断缓冲区

//-----------------------------------------------------------
//串口0初始化子程序
//字符长度:8位
//奇偶校验:禁止
//通讯模式:异步
//-----------------------------------------------------------
void Uart0_Init(void)
{
    UCSR0B  =  0x00;     //disable while setting baud rate
    UCSR0A  =  0x02;     //Bit1为1则倍速发送
    UCSR0C  =  0x0E;  
    UBRR0L  =  0x5F;     //波特率:9600 Bps
    UBRR0H  =  0x00;     //误差率:0.000%
    UCSR0B  =  0x98;  
}

//-----------------------------------------------------------
//串口0接收中断子程序
//-----------------------------------------------------------
#pragma interrupt_handler Uart0_Rx_Isr:iv_USART0_RX
void Uart0_Rx_Isr(void)
{
//uart has received a character in UDR0
//   unsigned char c;
   rx0_buff = UDR0;
}

//-----------------------------------------------------------
//串口0发送字节子程序
//-----------------------------------------------------------
void Putchar0(unsigned char c)
{
   while (!(UCSR0A&(1<<UDRE0)));
   UDR0=c;
}

//-----------------------------------------------------------
//串口0发送字符串子程序
//-----------------------------------------------------------
void Putstr0(char *s)
{
   while (*s)
   {
      Putchar0(*s);
      s++;
   }
}

//-----------------------------------------------------------
//串口0发送字符串子程序(带有换行符)
//-----------------------------------------------------------
void Puts0(char *s)
{
   while (*s)
   {
      Putchar0(*s);
      s++;
   }
   Putchar0(0x0d);   //回车换行
   Putchar0(0x0a);
}

⌨️ 快捷键说明

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