zoukankan      html  css  js  c++  java
  • atmega8 例程:USART串口通信

    /***************************************************************** 
    * 函数库说明:ATMEGA8 串口通信
    * 版本: v1.0
    * 修改: 庞辉 芜湖联大飞思卡尔工作室
    * 修改日期: 2011年08月03日
    *
    * 说明: 查询发送、中断接收
    *
    * 版本更新:
    *
    ******************************************************************
    *注意: RXD PD0
    * TXD PD1
    *****************************************************************
    */

    #include <avr/io.h>
    #include <avr/interrupt.h>

    //晶振频率
    #define F_CPU 6000000UL
    //波特率
    #define BAUD 9600

    /*****************************************************************
    ** 名称:void Init_Usart(void)
    ** 功能:atmega8 串口初始化
    ** 入口参数:无
    ** 出口参数:无
    ** 使用说明:查询发送,中断接收,8位数据位,1位停止位,9600波特率
    ****************************************************************
    */
    void Init_Usart(void)
    {
    //设置波特率
    UBRRH = (F_CPU / BAUD / 16 - 1) / 256;
    UBRRL = (F_CPU / BAUD / 16 - 1) % 256;
    //接收中断使能,接收使能,发送使能
    UCSRB |= (1 << RXCIE) | (1 << RXEN) | (1 << TXEN);
    }

    /*****************************************************************
    ** 名称:void Send_Char(char data)
    ** 功能:atmega8 串口发送字符
    ** 入口参数:data 发送字符
    ** 出口参数:无
    ** 使用说明:查询发送
    ****************************************************************
    */
    void Send_Char(char data)
    {
    //查询方式发送
    while(!(UCSRA & (1 << UDRE)));
    UDR = data;
    }

    //主函数

    int main(void)
    {
    Init_Usart();

    //总中断使能
    sei();

    //发送一个字符a
    Send_Char('a');

    while(1);

    return 0;
    }

    //定义接收字符
    volatile char rev_data;

    //串口接收中断
    SIGNAL(SIG_UART_RECV)
    {
    rev_data = UDR;

    //发送接收到的字符
    Send_Char(rev_data);
    }
  • 相关阅读:
    SSH框架中使用Oracle数据库转换为SQLServer的相关配置和注意事项
    MYSQL性能优化系统整理
    PHP时间处理
    debian9 VirtualBox rc=-1908的错误
    https://snapcraft.io/store
    中文转拼音 pinyin4j的使用
    java对象转数组|数组转对象
    Deflater 压缩解压
    spring的RestTemplate连接池相关配置
    spring获取指定包下面的所有类
  • 原文地址:https://www.cnblogs.com/pang123hui/p/2312375.html
Copyright © 2011-2022 走看看