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

📄 test.c

📁 AVR 通用 Bootloader 使用说明 *支持多种型号的AVR单片机 *支持多串口的AVR单片机 *支持RS232/RS485/RS422模式 *支持多种通信波特率和时钟频率 *自动计
💻 C
字号:
/*

                           e Y8b    Y8b Y88888P888 88e                       
                          d8b Y8b    Y8b Y888P 888 888D                      
                         d888b Y8b    Y8b Y8P  888 88"                       
                        d8WuHan888b    Y8b Y   888 b,                        
                       d8888888b Y8b    Y8P    888 88b,                      
             e88'Y88                                                         
            d888  'Y e88 88e 888 888 8e 888 888 8e  e88 88e 888 8e           
           C8888    d888 888b888 888 88b888 888 88bd888 888b888 88b          
            Y888  ,dY888 8Shao88 zi8 8yang8 888 888Y888 888P888 888          
             "88,d88 "88 88" 888 888 888888 888 888 "88 88" 888 888          
 888 88b,                    d8  888                         888             
 888 88P' e88 88e  e88 88e  d88  888     e88 88e  ,"Y88b e88 888 ,e e, 888,8,
 888 8K  d888 888bd888 888bd20078888    d888 888b"8" 888d888 888d88 88b888 " 
 888 88b,Y888 888PY888 888P 888  888  ,dY888 888P,ee 888Y888 888888   ,888   
 888 88P' "88 88"  "88 88"  888  888,d88 "88 88" "88 888 "88 888 "YeeP"888   

                                ___           ___
                  ___          /  /\         /  /\      ___
                 /__/\        /  /::\       /  /::\    /__/\
                 \  \:\      /  /:/\:\     /__/:/\:\   \  \:\
                  \__\:\    /  /::\ \:\   _\_ \:\ \:\   \__\:\
                  /  /::\  /__/:/\:\ \:\ /__/\ \:\ \:\  /  /::\
                 /  /:/\:\ \  \:\ \:\_\/ \  \:\ \:\_\/ /  /:/\:\
                /  /:/__\/  \  \:\ \:\    \  \:\_\:\  /  /:/__\/
               /__/:/        \  \:\_\/     \  \:\/:/ /__/:/
               \__\/          \  \:\        \  \::/  \__\/
                               \__\/         \__\/

  Project:       AVR Common BootLoader Test
                 AVR 通用 Bootloader 测试
  File:          test.c
                 定时向串口输出一个字符。如果接收到字符,则将接收的字符作为输
                 出。收到'~'时进入死循环,等待看门狗复位。
                 这个程序用于测试串口通信是否正常。可以使用超级终端作为上位机
                 的软件。
  Version:       1.0

  Compiler:      GCC 4.1.1 + AVR Studio 4.13.528

  Author:        Shaoziyang
                 Shaoziyang@126.com
                 http://shaoziyang.bloger.com.cn
  Date:          2007.3

*/

#include "testcfg.h"
#include "bootldr.h"

unsigned char dat = '>';

//写入数据到串口
void WriteCom(unsigned char dat)
{
#if RS485
  RS485Enable();
#endif

  UDRREG(COMPORTNo) = dat;
  while(!(UCSRAREG(COMPORTNo) & (1<<TXCBIT(COMPORTNo))));
  UCSRAREG(COMPORTNo) |= (1 << TXCBIT(COMPORTNo));

#if RS485
  RS485Disable();
#endif
}

int main()
{
  asm volatile("cli": : );

#if WDGEn
  //允许看门狗
  wdt_enable(WDTO_1S);
#endif
  
  ComInit();
  TimerInit();

#if RS485
  DDRREG(RS485PORT) |= (1 << RS485TXEn);
  RS485Disable();
#endif

#if LEDEn
  //设置LED端口为输出状态
  DDRREG(LEDPORT) = (1 << LEDPORTNo);
#endif

  while(1)
  {
    if(TIFRREG & (1<<OCF1A))    //T1溢出 
    {
      TIFRREG |= (1 << OCF1A);

#if LEDEn
      //LED接收状态
      LEDAlt();
#endif

#if WDGEn
      //清除看门狗
      wdt_reset();
#endif

      if(DataInCom())
      {
        dat = ReadCom();
        if(dat == '~')
          while(1);             //等待复位
      }
      WriteCom(dat);
    }
  }
}

//End of file: test.c

⌨️ 快捷键说明

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