?? gpio.c
字號:
/****************************************************************
* 文件名 GPIO.c
* 作者 wpj
* 時(shí)間 2008.4.5
* 版本 1.0
*
* 修改時(shí)間
*
*
*
************************************************************************/
#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; //接收超時(shí)包完成
/**********************************************************
* 函數(shù)名: GPIOConfigInit
* 作者: wpj
* 時(shí)間: 2008.4.5
* 版本號: 1.0
* 功能: 全部全局變量初始化
* 修改時(shí)間
*
*************************************************************/
void GPIOConfigInit(void)
{
//將不使用的GPIO設(shè)為輸出,使其功耗減小
//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串口發(fā)關(guān)閉,串口收是一直打開的
//PTAD = 0xF7; //pc串口發(fā)打開,串口收是一直打開的
//試試最后把兩個(gè)腳設(shè)置成高阻
PTADD =0x9F;
PTAPE_PTAPE5 = 0;
PTAPE_PTAPE6 = 0;
PTBDD = 0xFF;
PTCDD = 0xFF;
PTDDD = 0xFF;
PTEDD = 0xFF;
PTGDD = 0xFE;
}
/**********************************************************
* 函數(shù)名: LED10ON
* 作者: wpj
* 時(shí)間: 2007.4.5
* 版本號: 1.0
* 功能: 轉(zhuǎn)換485芯片至發(fā)送態(tài)
* 修改時(shí)間
*
*************************************************************/
void LED10ON(void)
{
LED10_GPIO = 0;
}
/**********************************************************
* 函數(shù)名: LED10OFF
* 作者: wpj
* 時(shí)間: 2007.12.7
* 版本號: 1.0
* 功能: 轉(zhuǎn)換485芯片至發(fā)送態(tài)
* 修改時(shí)間
*
*************************************************************/
void LED10OFF(void)
{
LED10_GPIO = 1;
}
/**********************************************************
* 函數(shù)名: LED9ON
* 作者: wpj
* 時(shí)間: 2007.12.7
* 版本號: 1.0
* 功能: 轉(zhuǎn)換485芯片至發(fā)送態(tài)
* 修改時(shí)間
*
*************************************************************/
void LED9ON(void)
{
LED9_GPIO = 0;
}
/**********************************************************
* 函數(shù)名: LED9OFF
* 作者: zgq
* 時(shí)間: 2007.12.7
* 版本號: 1.0
* 功能: 轉(zhuǎn)換485芯片至發(fā)送態(tài)
* 修改時(shí)間
*
*************************************************************/
void LED9OFF(void)
{
LED9_GPIO = 1;
}
/**********************************************************
* 函數(shù)名: TC35ON
* 作者: zgq
* 時(shí)間: 2007.12.7
* 版本號: 1.0
* 功能: 轉(zhuǎn)換485芯片至發(fā)送態(tài)
* 修改時(shí)間
*
*************************************************************/
void TC35ON(void)
{
UINT8 i, flag;
(void)strcpy(SciTxBuf,"AT+CFUN=1\r");
//SCI1C2_TCIE = 0;
SciTxLen = 10;
SciRxPtr = 0;
UARTTransmitt(); //串口發(fā)送
//等待一組數(shù)據(jù)收完
while(SciTxFlag==TRANSMITT_ING);//等待上一次發(fā)送完畢
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);
}
/**********************************************************
* 函數(shù)名: TC35OFF
* 作者: zgq
* 時(shí)間: 2007.12.7
* 版本號: 1.0
* 功能: 轉(zhuǎn)換485芯片至發(fā)送態(tài)
* 修改時(shí)間
*
*************************************************************/
void TC35OFF(void)
{
UINT8 i, flag;
(void)strcpy(SciTxBuf,"AT+CFUN=5\r");
//SCI1C2_TCIE = 0;
SciTxLen = 10;
SciRxPtr = 0;
UARTTransmitt(); //串口發(fā)送
//等待一組數(shù)據(jù)收完
while(SciTxFlag==TRANSMITT_ING);//等待上一次發(fā)送完畢
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);
}
/**********************************************************
* 函數(shù)名: MAXtON
* 作者: zgq
* 時(shí)間: 2007.12.7
* 版本號: 1.0
* 功能: 轉(zhuǎn)換485芯片至發(fā)送態(tài)
* 修改時(shí)間
*
*************************************************************/
void MAXtON(void)
{
PTAD=(PTAD|0x80);
}
/**********************************************************
* 函數(shù)名: MAXtOFF
* 作者: zgq
* 時(shí)間: 2007.12.7
* 版本號: 1.0
* 功能: 轉(zhuǎn)換485芯片至發(fā)送態(tài)
* 修改時(shí)間
*
*************************************************************/
void MAXtOFF(void)
{
PTAD=(PTAD&0x7F);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -