ATMEGA128 UART的使用

发布者:JoyousJourney最新更新时间:2017-11-24 来源: eefocus关键字:ATMEGA128  UART 手机看文章 扫描二维码
随时随地手机看文章

#include "myuart.h"
#include "avr/io.h"
#include

 

#define UDRE   5 
#define RXEN   4
#define TXEN   3
#define UCSZ0  1
#define RXC    7
#define RXCIE  7

 

ISR(USART0_RX_vect)//接收中断
{
  unsigned char dummy;
  while ( UCSR0A & (1<  {
  dummy = UDR0;
  }
  USART_Transmit(dummy);
}

void USART_Transmit(unsigned char data)//发送字节
{
    /* 等待发送缓冲器为空 */
    while ( !( UCSR0A & (1<     ;
    /* 将数据放入缓冲器,发送数据 */
    UDR0 = data;
}


void myuart_init(void)
{
  //关总中断
  cli();
  //4MHZ晶振,设置波特率
  UCSR0A &= 0x02; //不倍频
  unsigned char baud;
  baud = 25; //9600
  UBRR0H = (unsigned char)(baud>>8);
  UBRR0L = (unsigned char)baud;
  // 接收器与发送器使能,接收中断允许
  UCSR0B = (1<  // 设置帧格式: 8 个数据位, 1个停止位
  UCSR0C = (3<  //关于中断
  //开总中断
  sei();
}


关键字:ATMEGA128  UART 引用地址:ATMEGA128 UART的使用

上一篇:avr--adc
下一篇:ATMEGA128定时器1的使用

推荐阅读最新更新时间:2024-03-16 15:46

UART、IrDA、SPI、I2C MSP430学习
SPI、IIC、UART区别 第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART(Universal Asynchronous Receiver Transmitter:通用异步收发器) 第二,区别在电气信号线上: SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Sla
[单片机]
STM8串口UART调试记录
  本来UART的调试是非常简单的,但是在STM8上折腾了好几天,在此记录一下,希望遇到相同问题的朋友能够不折腾,工作顺利,生活开心! 问题描述:   使用STM8的UART1,波特率9600,发送中断关闭,接收中断打开。接收单字节,没有问题。接收多字节,接收数据不完整,而且每次丢失的字节个数固定,比如发送17个字节,每次都只能接收到到15个字节。 折腾过程:   1.按照网友说的如下,结果还是出现丢失数据。 if(UART1_GetITStatus(UART1_IT_RXNE) != RESET) {   temp = UART1_ReceiveData8(); }  2.添加处理过载时发生中断的处理,任然
[单片机]
MAX3140集成通用异步接收发送器(UART)和失效保护的
MAX3140是一个完整的通用异步接收发送器( UART )和一个真正的 失效保护 的RS-485/RS-422收发器在一个28引脚QSOP封装为空间,成本和功率受限的应用软件包相结合。在MAX3140节省了额外的板空间,以及微控制器(μC)的I /特色的SPI™/ QSPI的™/ MICROWIRE™兼容的串行接口O引脚。这是引脚对所有的RS-485/RS-422网络的配置编程。   在MAX3140包括一个单一的RS-485/RS-422驱动器和接收具有真正的失效保护电路,保证逻辑高接收器输出时,接收器输入开路或短路。此功能提供免疫缺陷,而无需复杂的终止。该MAX3140提供软件可选的半双工或全双工操作,数据速率,压摆率,
[电源管理]
MAX3140集成通用异步接收发送器(<font color='red'>UART</font>)和失效保护的
Wavecom推出超小GSM/GPRS四频通信模块,面向M2M应用
  Wavecom公司日前推出据称市场上最小的GSM/GPRS四频通信模块WISMO Quik Q2686,支持GSM/GPRS 850/900/1800/1900 MHz,只要嵌入Q2686,产品即可通行全球(包括韩国,日本除外)。此外,Wavecom亦同步推出其模块操作系统OS 6.60新版本。新版操作系统可整合更多平台,协助研发设计人员能快速导入,开发更多应用。   Quik Q26系列是Wavecom新推出的无线通信模块产品线,专为机器对机器(machine-to-machine)应用所设计。Q26系列搭配新版操作系统OS6.60,为将来EDGE与3G开发铺路。Q2686为Q26系列的第一个成员,大小为40×32.2×4
[工业控制]
MSP432P401R学习:UART
单片机的通讯必然逃不过UART,串口通讯对于对于单片机的调试运行也有着非常重要的作用,通过UART可以实现多设备的通讯,实现更复杂功能的实现。UART的基本原理也不过多的赘述了,网上很多的文章描述的肯定也比我讲的清楚,本文只介绍一下功能的实现并且在板子上进行验证。例程也可以在Resource Explorer中找到。 这个例程实现的功能是MSP432通过UART与PC进行通讯。MSP432将通过的串口收到的字符发回给PC,并在串口调试工具中显示出来。UART帧格式被配置为一个起始位,一个停止位,无校验位。P1.2与P1.3分别为接收端口与发送端口。使用的波特率为9600.。 首先我们先要配置串口结构体,如下面代码所示。
[单片机]
MSP432P401R学习:<font color='red'>UART</font>
STM32单片机实现DMA+ADC+UART功能
突然想测试一下STM32单片机ADC采样速率问题,按照常规方法,可以通过ADC采样,然后将采样值打印出来。但是这种方法在处理和打印数据的时候会占用很多时间,导致处理数据的时间超过了ADC的采样时间。于是想到了ADC采样的数据用DMA功能存储,并通过串口打印。但是串口打印依然要占用单片机时间,那能不能串口数据的输出也采用 DMA功能呢?这样ADC采样的数据通过DMA直接存储,然后串口通过DMA功能直接输出采样到的数据。这样速度程序执行速度不就极大的提升了吗?说干就干,使用STM32F103C8T6单片机,标准库函数,keil5软件,编写一个测试程序。 首先实现ADC采样并通过DMA存储 #ifndef __ADC_H #de
[单片机]
STM32单片机实现DMA+ADC+<font color='red'>UART</font>功能
ATmega128(EEPROM)
//atmega128的读写EEPROM示例程序,记录CPU启动的次数到EEPROM中 //在LED数码管上显示读出的数据,可用复位键刷新显示 //编译环境 AVR Studio 4.17/AVR GCC //系统时钟7.3728MHZ,设置熔丝位为外部高频石英晶体振荡,启动时间4.1ms //*********************************************************************** // 包含文件 //*********************************************************************** #include strin
[单片机]
基于ATmega128单片机的红外控制电机系统源码
单片机源程序如下: #include Main.h SIGNAL(SIG_OVERFLOW0) //中断每1秒发一个数 { TCNT0 = 200; TIMSK &= ~_BV(TOIE0); //TIMSK中TOIE0置0 if(++g_bCount 1) { g_bCount = 0; TaskInTimer(); } /*if(++g_aCount 44) //3s定时 { g_aCount = 0; Table_Locked(); }*/ TIM
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved