//-------------------------------------------------------------------------*
// 工 程 名: SCISrchRe                                                     *
// 硬件连接: (1)PTD口0脚接指示灯                                           *
//           (2)AW60目标板上的串口1接PC机串口                              *
// 程序描述: 使用SCI1和PC机通信，MCU复位后发送"Hello! World! "到PC机，     *
//           然后等待接收PC机发送的数据，当接收到了来自PC机的数据后立      *
//           即回发                                                        *
// 目    的: 初步掌握利用查询方式进行串行通信的基本知识                    *
// 说    明: 波特率为9600,使用SCI1口                                       *
//----------------苏州大学飞思卡尔嵌入式系统研发中心2011年-----------------*

#include "Includes.h"

//在此添加全局变量定义

void main(void)
{   
    //1 主程序使用的变量定义
    uint8 SerialBuff[]="Hello! World!";           //初始化存放接收数据的数组
    uint8 mSCIReflag=0;                           //串口接收标志
    uint32 mRuncount=0;                           //运行计数器
    //2 关中断
    DisableInterrupt();                           //禁止总中断
    //3 芯片初始化
    MCUInit();
    //4 模块初始化
    Light_Init(Light_Run_PORT,Light_Run,Light_OFF);//指示灯初始化
    SCIInit(SCI_NUM_1,SYSTEM_CLOCK,9600);         //串行口初始化
    //5 主程序向PC机发送欢迎词
    SCISendN(SCI_NUM_1,13,SerialBuff);            //串口发送“Hello World!”
    //6 主循环                                                                                                              
    while (1)               
    {
      //1 主循环计数到一定的值，使指示灯的亮、暗状态切换
      mRuncount++;
      if (mRuncount>=3) 
      {
        Light_Change(Light_Run_PORT,Light_Run);   //指示灯的亮、暗状态切换
        mRuncount=0;
      }
      //2 主循环执行的任务
      mSCIReflag = SCIReN(SCI_NUM_1,1,SerialBuff);//等待接收1个数据
      if (mSCIReflag == 0)
      {
        SCISendN(SCI_NUM_1,1,SerialBuff);         //发送接到的数据
      }
    }
}
