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);
    }
  • 相关阅读:
    【转】设计模式总结
    【转】并行开发
    C#开发微信公众平台-就这么简单
    (转载)MVC,MVP 和 MVVM 的图示
    插入排序
    选择排序
    VS发布 错误 未能将文件 复制到
    SqlServer 更改数据库名称
    linq查询时查询语句中附带多个查询时“已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭”
    不能将 CHECK_POLICY 和 CHECK_EXPIRATION 选项设为 OFF (关)
  • 原文地址:https://www.cnblogs.com/pang123hui/p/2312375.html
Copyright © 2011-2022 走看看