exp8.c

来自「基于PROTERUS仿真的AVR例子,内容丰富,包含全面,从最简单的I/O操做到」· C语言 代码 · 共 41 行

C
41
字号
#include <io8535.h>
#include <intrinsics.h>

void  sendmsg(char  *s)
{
  qcntr=0;                      //预先设置索引
  sndcntr=1;                    //设置为1,因为第一个字符已经发送
  queue[qcntr++]=0x0d;          //将CRLF放到队列的头
  queue[qcntr++]=0x0a;
  while(*s)
  queue[qcntr++]=*s++;          //将字符放入队列
  UDR=queue[0];                 //发送第一个字符到起始程序
}

void  main(void)
{
  UCR=0x58;                     //使能接收、发送及数据传输中断
  UBRR=0x33;                    //设置波特率为9600
  
  __enable_interrupt();         //设置全局中断使能

  while(1)
  {
    if(USR&0x80)                //检测,并接收字符
    {
      ch=UDR;                   //将字符发送到pc机
      switch(ch)
      {
        case  'a'
          sendmsg(msg1);        //发送第一条信息
          break;
        case  'b'
          sendmsg(msg2);        //发送第二条信息
          break;
        default:
          sendmsg(msg3);        //发送默认信息
      }
    }
  }
}

⌨️ 快捷键说明

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