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

📄 main.c

📁 飞思卡尔的串口程序设计包括发送和接受请查收
💻 C
字号:
#include <hidef.h>      
#include <mc9s12dg128.h>     
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"

/*-------记录接受次数------------------------*/
char m;
void light(void) 
{
      PORTB=m;
 }


/*-----------初始化--------------------------*/
void SciInit(){
  SCI0BDL = (unsigned char)((16000000UL /* OSC freq */ / 2) / 9600 /* baud rate */ / 16 /*factor*/);
  SCI0CR1=0;					/*normal,no parity*/
  SCI0CR2=0X2C;       /*RIE=1,TE=1,RE=1*/
}


/*-----------发送部分-----------------------*/
void SciTx(unsigned char *text){
int i=0;
  unsigned char temp;
  temp=SCI0SR1;      /*clear flag*/
        for(i=0;i<10;i++)
       {
          while (!(SCI0SR1&0x80));  /* wait for output buffer empty */
          SCI0DRL = *text++;
        }
}

/*---------接受部分------------------------*/
char SciRx(void){
  char temp;
  char result;
  temp=SCI0SR1;      /*clear flag*/
  while(!(SCI0SR1&0x20));
  result=SCI0DRL;
  return result;
}

/*---------中断程序------------------------*/
interrupt void Serv_int(void)
{ char data[10];
 int i=0; 
  DisableInterrupts;
  for(i=0;i<10;i++){
      data[i]=SciRx();
  }
  light();
  m++;
  SciTx(data);
  EnableInterrupts;
}

/*----------主函数---------------------------*/
void main(void){
  EnableInterrupts;
  DDRB=0XFF;
  SciInit();
   for(;;){
  } 
}

⌨️ 快捷键说明

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