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

📄 gpio.c

📁 在飞思卡尔MC9S08GB60单片机环境下实现了无线监控
💻 C
字号:
/****************************************************************
*   文件名  GPIO.c    
*   作者    wpj
*   时间    2008.4.5
*   版本    1.0
*   
*   修改时间    
*
*
*
************************************************************************/


#include "GPIO.h"
#include "wait.h"
#include "SCI.h"
#include <string.h>
#include "main.h" 

extern UINT8 SciRxBuf[SCI_RX_BUF_TC];
extern UINT8 volatile SciRxPtr;
//extern UINT8 volatile SciRxLen;
extern UINT8 SciTxBuf[SCI_TX_BUF_TC];
extern UINT8 volatile SciTxPtr;
extern UINT8 volatile SciTxLen;
extern UINT8 volatile SciTxFlag;
extern UINT8 volatile RxTimeoutFlag;			//接收超时包完成

/**********************************************************
*   函数名:  GPIOConfigInit
*   作者:    wpj
*   时间:    2008.4.5
*   版本号:  1.0
*   功能:    全部全局变量初始化
*   修改时间
*
*************************************************************/
void GPIOConfigInit(void) 
{			 
     //将不使用的GPIO设为输出,使其功耗减小
       //LED10ON();//TEST
       //启动tc35i测试,包含emergecy,插着烧写端口就好使

       PTADD = 0xFF;
       DelayMS(3000);
       PTAD  = 0x17;
       DelayMS(10);
       PTAD  = 0x37;
       DelayMS(12);
       PTAD  = 0x17;
       DelayMS(110);
       PTAD  = 0x37;
     	 DelayMS(300);
     	 PTAD  = 0x77;//pc串口发关闭,串口收是一直打开的
     	 //PTAD  = 0xF7; //pc串口发打开,串口收是一直打开的    	 

     	 //试试最后把两个脚设置成高阻
     	 PTADD =0x9F;
       PTAPE_PTAPE5 = 0;
       PTAPE_PTAPE6 = 0;
       
       PTBDD = 0xFF;
       PTCDD = 0xFF;
       PTDDD = 0xFF;
       PTEDD = 0xFF;
       PTGDD = 0xFE;
       
}

/**********************************************************
*   函数名:  LED10ON
*   作者:    wpj
*   时间:    2007.4.5
*   版本号:  1.0
*   功能:    转换485芯片至发送态
*   修改时间
*
*************************************************************/
void LED10ON(void) 
{
		LED10_GPIO = 0;
}
/**********************************************************
*   函数名:  LED10OFF
*   作者:    wpj
*   时间:    2007.12.7
*   版本号:  1.0
*   功能:    转换485芯片至发送态
*   修改时间
*
*************************************************************/
void LED10OFF(void)
{
		LED10_GPIO = 1;
}

/**********************************************************
*   函数名:  LED9ON
*   作者:    wpj
*   时间:    2007.12.7
*   版本号:  1.0
*   功能:    转换485芯片至发送态
*   修改时间
*
*************************************************************/
void LED9ON(void) 
{
		LED9_GPIO = 0;
}
/**********************************************************
*   函数名:  LED9OFF
*   作者:    zgq
*   时间:    2007.12.7
*   版本号:  1.0
*   功能:    转换485芯片至发送态
*   修改时间
*
*************************************************************/
void LED9OFF(void)
{
		LED9_GPIO = 1;
}

/**********************************************************
*   函数名:  TC35ON
*   作者:    zgq
*   时间:    2007.12.7
*   版本号:  1.0
*   功能:    转换485芯片至发送态
*   修改时间
*
*************************************************************/
void TC35ON(void)
{
		UINT8 i, flag;
    (void)strcpy(SciTxBuf,"AT+CFUN=1\r");
    //SCI1C2_TCIE = 0;  
    SciTxLen = 10;
    SciRxPtr = 0;
    UARTTransmitt(); //串口发送
 
    //等待一组数据收完
    while(SciTxFlag==TRANSMITT_ING);//等待上一次发送完毕         
    while(RxTimeoutFlag < 3);
    RxTimeoutFlag=0;
    do
      {
        flag=1;
        for(i=0;i<SCI_RX_BUF_TC;i++) 
          {
            if((SciRxBuf[i]=='O')&&(SciRxBuf[i+1]=='K')) 
              {
            		 flag=0;
              }
          }
      }while(flag);
}

/**********************************************************
*   函数名:  TC35OFF
*   作者:    zgq
*   时间:    2007.12.7
*   版本号:  1.0
*   功能:    转换485芯片至发送态
*   修改时间
*
*************************************************************/
void TC35OFF(void) 
{
		UINT8 i, flag;
    (void)strcpy(SciTxBuf,"AT+CFUN=5\r");
    //SCI1C2_TCIE = 0;  
    SciTxLen = 10;
    SciRxPtr = 0;
    UARTTransmitt(); //串口发送
 
    //等待一组数据收完
    while(SciTxFlag==TRANSMITT_ING);//等待上一次发送完毕         
    while(RxTimeoutFlag < 3);
    RxTimeoutFlag=0;
    do
      {
        flag=1;
        for(i=0;i<SCI_RX_BUF_TC;i++) 
          {
            if((SciRxBuf[i]=='O')&&(SciRxBuf[i+1]=='K')) 
              {
            		 flag=0;
              }
          }
      }while(flag);
             
    
}

/**********************************************************
*   函数名:  MAXtON
*   作者:    zgq
*   时间:    2007.12.7
*   版本号:  1.0
*   功能:    转换485芯片至发送态
*   修改时间
*
*************************************************************/
void MAXtON(void) 
{
    PTAD=(PTAD|0x80);
    
}

/**********************************************************
*   函数名:  MAXtOFF
*   作者:    zgq
*   时间:    2007.12.7
*   版本号:  1.0
*   功能:    转换485芯片至发送态
*   修改时间
*
*************************************************************/
void MAXtOFF(void) 
{
    PTAD=(PTAD&0x7F);
    
}

⌨️ 快捷键说明

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