//-------------------------------------------------------------------------*
// 工 程 名: SCIIntRe                                                      *
// 硬件连接: (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 msg[14]= "Hello! World!";
    uint32 mRuncount=0;                            //运行计数器
    uint32 mRuncount2=0;                           //运行计数器2
    //2 关中断
    DisableInterrupt();                            //禁止总中断
    //3 芯片初始化
    MCUInit();
    //4 模块初始化
    Light_Init(Light_Run_PORT,Light_Run,Light_OFF);//指示灯初始化
    SCIInit(SCI_NUM_1,SYSTEM_CLOCK,9600);          //串行口初始化
    //5 开放中断
    EnableSCIReInt();                              //开放SCI接收中断
    EnableInterrupt();                             //开放总中断
    //6 主程序向PC机发送数据
    SCISendN(SCI_NUM_1,13,msg);                    //串口发送数据 

    //7 主循环                                                                                                              
    while (1)                      
    {
        //1 主循环计数到一定的值，使小灯的亮、暗状态切换
        mRuncount++;
        if (mRuncount>=40000) 
        {
          mRuncount=0;
          Light_Change(Light_Run_PORT,Light_Run);  //指示灯的亮、暗状态切换
        }
        //2 主循环执行的任务
        mRuncount2++;
        if (mRuncount2>=40000) 
        {
          mRuncount2=0;
          SCISendN(SCI_NUM_1,13,msg);              //串口定时发送数据
        }
    }
}
