資源簡(jiǎn)介
/*******************************************************************
起動(dòng)總線函數(shù)
函數(shù)原型: void Start_I2c();
功能: 啟動(dòng)I2C總線,即發(fā)送I2C起始條件.
********************************************************************/
void Start_I2c()
{
SDA=1; /*發(fā)送起始條件的數(shù)據(jù)信號(hào)*/
_nop_();
SCL=1;
delay_5us(); //起始條件建立時(shí)間大于4.7us
SDA=0; //發(fā)送起始信號(hào)
delay_5us(); //起始條件鎖定時(shí)間大于4us
SCL=0; /*鉗住I2C總線,準(zhǔn)備發(fā)送或接收數(shù)據(jù) */
delay_2us();
}
/*******************************************************************
結(jié)束總線函數(shù)
函數(shù)原型: void Stop_I2c();
功能: 結(jié)束I2C總線,即發(fā)送I2C結(jié)束條件.
********************************************************************/
void Stop_I2c()
{
SDA=0; //發(fā)送結(jié)束條件的數(shù)據(jù)信號(hào)
delay_2us();
SCL=1; //發(fā)送結(jié)束條件的時(shí)鐘信號(hào)
delay_5us(); //結(jié)束條件建立時(shí)間大于4μ
SDA=1; /*發(fā)送I2C總線結(jié)束信號(hào)*/
delay_5us();
}
/*******************************************************************
字節(jié)數(shù)據(jù)發(fā)送函數(shù)
函數(shù)原型: void SendByte(uchar c);
功能: 將數(shù)據(jù)c發(fā)送出去,可以是地址,也可以是數(shù)據(jù),發(fā)完后等待應(yīng)答,并對(duì)
此狀態(tài)位進(jìn)行操作.(不應(yīng)答或非應(yīng)答都使ack=0)
發(fā)送數(shù)據(jù)正常,ack=1; ack=0表示被控器無(wú)應(yīng)答或損壞。
********************************************************************/
void SendByte(uchar c)
{ uchar BitCnt,count;
for(BitCnt=0;BitCnt<8;BitCnt ) /*要傳送的數(shù)據(jù)長(zhǎng)度為8位*/
{
if(c&0x80)SDA=1; /*判斷發(fā)送位*/
else SDA=0;
delay_2us();
SCL=1; //置時(shí)鐘線為高,通知被控器開始接收數(shù)據(jù)位
delay_5us(); //保證時(shí)鐘高電平周期大于4us
SCL=0;
c=c<<1;
}
_nop_();
_nop_();
SDA=1; /*8位發(fā)送完后釋放數(shù)據(jù)線,準(zhǔn)備接收應(yīng)答位*/
delay_5us();
delay_5us(); //為了在示波器上更好看出應(yīng)答時(shí)鐘,多增加一個(gè)延時(shí), 間隔大一點(diǎn)
SCL=1;
_nop_();
_nop_();
/*********************************************************************************************
由于BQ500414Q工作很忙,應(yīng)答太慢,動(dòng)態(tài)的不準(zhǔn)時(shí),所以做這個(gè)保證應(yīng)答時(shí)鐘是有效的。如果從端BQ500414Q還
沒(méi)有應(yīng)答時(shí),但此時(shí)主控MCU把SCL置高了,此時(shí)BQ500414Q會(huì)拉強(qiáng)行把SCL拉低,一直要到BQ500414Q發(fā)出的SDA
應(yīng)答是有效時(shí),BQ500414Q才會(huì)放開對(duì)SCL的拉低。這是BQ500414Q與EEPROM的I2C一個(gè)差大的差別。
*********************************************************************************************/
for(count=0;count<100;count ) //等待從端從BUSY狀態(tài)恢復(fù)出來(lái), 放開SCL才能置高.此循環(huán)最大延時(shí)110uS.
{ if(SCL==1)
break;
_nop_();
}
delay_2us(); //應(yīng)答高電平>=4us
delay_2us();
if(SDA==1)ack=0; /*判斷是否接收到應(yīng)答信號(hào)*/
else ack=1;
SCL=0;
delay_5us();
}
/*******************************************************************
字節(jié)數(shù)據(jù)接收函數(shù)
函數(shù)原型: uchar RcvByte();
功能: 用來(lái)接收從器件傳來(lái)的數(shù)據(jù),并判斷總線錯(cuò)誤(不發(fā)應(yīng)答信號(hào)),
發(fā)完后請(qǐng)用應(yīng)答函數(shù)應(yīng)答從機(jī)。
********************************************************************/
uchar RcvByte()
{
uchar retc=0,BitCnt,count;
SDA=1;
delay_5us(); //由于BQ500414Q芯片工作很忙, 延時(shí)
for(BitCnt=0;BitCnt<8;BitCnt )
{
SCL=0;
delay_5us(); /*時(shí)鐘低電平周期大于4.7μs*/
SCL=1;
_nop_();
_nop_();
/*********************************************************************************************
由于BQ***工作很忙,發(fā)出數(shù)據(jù)太慢,動(dòng)態(tài)的不準(zhǔn)時(shí),時(shí)快時(shí)慢。處理完1字節(jié)后,有時(shí)要大于50us才發(fā)下一個(gè)字節(jié).
如果從端BQ500414Q還沒(méi)有發(fā)出有效的數(shù)據(jù),但此時(shí)主控MCU把SCL置高了,此時(shí)BQ500414Q會(huì)拉強(qiáng)行把SCL拉低,
直要到BQ500414Q發(fā)出的SDA是有效時(shí),BQ500414Q才會(huì)放開對(duì)SCL的拉低。這是BQ500414Q與EEPROM的I2C一個(gè)差大的差別。
*********************************************************************************************/
for(count=0;count<100;count ) //等待從端由BUSY狀態(tài)恢復(fù)出來(lái), 放開SCL才能置高.此循環(huán)最大延時(shí)110mS.
{
if(SCL==1)
break;
_nop_();
}
delay_2us();
retc=retc<<1;
if(SDA==1)retc=retc | 1;
_nop_();
}
SCL=0;
_nop_();
_nop_();
return(retc);
}
/********************************************************************
應(yīng)答子函數(shù)
函數(shù)原型: void Ack_I2c(bit a);
功能: 主控器進(jìn)行應(yīng)答信號(hào)(可以是應(yīng)答或非應(yīng)答信號(hào),由位參數(shù)a決定)
********************************************************************/
void Ack_I2c(bit a)
{
if(a==0)SDA=0;
else SDA=1;
delay_5us();
SCL=1;
delay_5us();
SCL=0;
delay_5us();
}
/*******************************************************************
用戶接口函數(shù)
*******************************************************************/
/*******************************************************************
向有子地址器件發(fā)送多字節(jié)數(shù)據(jù)函數(shù)
函數(shù)原型: bit ISendStr(uchar sla,uchar suba,ucahr *s,uchar no);
功能: 從啟動(dòng)總線到發(fā)送地址,子地址,數(shù)據(jù),結(jié)束總線的全過(guò)程,從器件
地址sla,子地址suba,發(fā)送內(nèi)容是s指向的內(nèi)容,發(fā)送no個(gè)字節(jié)。
如果返回1表示操作成功,否則操作有誤。
注意: 使用前必須已結(jié)束總線。
********************************************************************/
uchar ISendStr(uchar sla,uchar suba,uchar *s,uchar no)
{ uchar i;
if(no == 0)
return(1);
Start_I2c();
SendByte(sla);
if(ack==0)return(0);
SendByte(suba);
if(ack==0)return(0);
for(i=0;i<no;i )
{
SendByte(*s);
if(ack==0)return(0);
s ;
}
Stop_I2c();
return(1);
}
/*******************************************************************
向有子地址器件讀取多字節(jié)數(shù)據(jù)函數(shù)
函數(shù)原型: bit RecndStr(uchar sla,uchar suba,ucahr *s,uchar no);
功能: 從啟動(dòng)總線到發(fā)送地址,子地址,讀數(shù)據(jù),結(jié)束總線的全過(guò)程,從器件
地址sla,子地址suba,讀出的內(nèi)容放入s指向的存儲(chǔ)區(qū),讀no個(gè)字節(jié)。
如果返回1表示操作成功,否則操作有誤。
注意: 使用前必須已結(jié)束總線。
********************************************************************/
bit IRcvStr(uchar sla,uchar suba,uchar *s,uchar no)
{
uchar i;
Start_I2c();
SendByte(sla);
if(ack==0)return(0);
SendByte(suba);
if(ack==0)return(0);
Start_I2c();
SendByte(sla 1);
if(ack==0)return(0);
for(i=0;i<no-1;i )
{
*s=RcvByte();
Ack_I2c(0);
s ;
}
*s=RcvByte();
Ack_I2c(1);
Stop_I2c();
return(1);
}
uint8 led_state=0;
static uchar buffer_pld_monitor[32]; //PLD_MONITOR (Read only – Command 0xD5 ),讀數(shù)據(jù)存放
static uchar buffer_tx_state[32]; //TX_STATS (Read only – Command 0xD1)),讀數(shù)據(jù)存放
uchar COMM_GetTestvolt()
{
uchar ret;
ret = volt_test;
volt_test = 0;
return ret;
}
uchar COMM_GetTestamp()
{
uchar ret;
ret = amp_test;
amp_test = 0;
return ret;
}
uchar COMM_GetTestfod()
{
uchar ret;
ret = fod_test;
fod_test = 0;
return ret;
}
uchar COMM_GetTestpld()
{
uchar ret;
ret = pld_test;
pld_test = 0;
return ret;
}
uchar COMM_GetTestsend_power()
{
uchar ret;
ret = send_power_test;
send_power_test = 0;
return ret;
}
uchar COMM_GetTestrecv_power()
{
uchar ret;
ret = recv_power_test;
recv_power_test = 0;
return ret;
}
uchar COMM_GetTestvol_det1()
{
uchar ret;
ret = vol_det1_test;
vol_det1_test = 0;
return ret;
}
uchar COMM_GetTestvol_det2()
{
uchar ret;
ret = vol_det2_test;
vol_det2_test = 0;
return ret;
}
void ChargeCtrl_Main()
{
led_state=buffer_tx_state[22];
switch(ch_state)
{
case eIDLE:
if(led_state == LED_STATE_PWR_TRANS||led_state == LED_STATE_PWR_CPLT)
{
ch_state=eSTARTED;
charge_flag=1;
}
else
{
;//do nothing
}
break;
case eSTARTED:
charge_flag=1;
if(led_state == LED_STATE_PWR_TRANS)
{
ch_state=eCHARING;
charge_flag=2;
}
if(led_state == LED_STATE_PWR_CPLT)
{
ch_state=eFULL;
charge_flag=3;
}
if(led_state == LED_STATE_STANDBY)
{
ch_state=eREMOVE;
charge_flag=4;
}
break;
case eCHARING:
ch_state=2;
if(led_state == LED_STATE_PWR_TRANS)
{
ch_state=eCHARING;
charge_flag=2;
}
else if(led_state == LED_STATE_PWR_CPLT)
{
ch_state=eFULL;
charge_flag=3;
}
else if((led_state == LED_STATE_STANDBY))
{
ch_state=eREMOVE;
charge_flag=4;
}
break;
case eFULL:
ch_state=3;
if(led_state == LED_STATE_STANDBY)
{
ch_state=eREMOVE;
charge_flag=4;
}
else if(led_state == LED_STATE_PWR_TRANS)
{
ch_state=eSTARTED;
charge_flag=1;
}
break;
default:
break;
}
}
起動(dòng)總線函數(shù)
函數(shù)原型: void Start_I2c();
功能: 啟動(dòng)I2C總線,即發(fā)送I2C起始條件.
********************************************************************/
void Start_I2c()
{
SDA=1; /*發(fā)送起始條件的數(shù)據(jù)信號(hào)*/
_nop_();
SCL=1;
delay_5us(); //起始條件建立時(shí)間大于4.7us
SDA=0; //發(fā)送起始信號(hào)
delay_5us(); //起始條件鎖定時(shí)間大于4us
SCL=0; /*鉗住I2C總線,準(zhǔn)備發(fā)送或接收數(shù)據(jù) */
delay_2us();
}
/*******************************************************************
結(jié)束總線函數(shù)
函數(shù)原型: void Stop_I2c();
功能: 結(jié)束I2C總線,即發(fā)送I2C結(jié)束條件.
********************************************************************/
void Stop_I2c()
{
SDA=0; //發(fā)送結(jié)束條件的數(shù)據(jù)信號(hào)
delay_2us();
SCL=1; //發(fā)送結(jié)束條件的時(shí)鐘信號(hào)
delay_5us(); //結(jié)束條件建立時(shí)間大于4μ
SDA=1; /*發(fā)送I2C總線結(jié)束信號(hào)*/
delay_5us();
}
/*******************************************************************
字節(jié)數(shù)據(jù)發(fā)送函數(shù)
函數(shù)原型: void SendByte(uchar c);
功能: 將數(shù)據(jù)c發(fā)送出去,可以是地址,也可以是數(shù)據(jù),發(fā)完后等待應(yīng)答,并對(duì)
此狀態(tài)位進(jìn)行操作.(不應(yīng)答或非應(yīng)答都使ack=0)
發(fā)送數(shù)據(jù)正常,ack=1; ack=0表示被控器無(wú)應(yīng)答或損壞。
********************************************************************/
void SendByte(uchar c)
{ uchar BitCnt,count;
for(BitCnt=0;BitCnt<8;BitCnt ) /*要傳送的數(shù)據(jù)長(zhǎng)度為8位*/
{
if(c&0x80)SDA=1; /*判斷發(fā)送位*/
else SDA=0;
delay_2us();
SCL=1; //置時(shí)鐘線為高,通知被控器開始接收數(shù)據(jù)位
delay_5us(); //保證時(shí)鐘高電平周期大于4us
SCL=0;
c=c<<1;
}
_nop_();
_nop_();
SDA=1; /*8位發(fā)送完后釋放數(shù)據(jù)線,準(zhǔn)備接收應(yīng)答位*/
delay_5us();
delay_5us(); //為了在示波器上更好看出應(yīng)答時(shí)鐘,多增加一個(gè)延時(shí), 間隔大一點(diǎn)
SCL=1;
_nop_();
_nop_();
/*********************************************************************************************
由于BQ500414Q工作很忙,應(yīng)答太慢,動(dòng)態(tài)的不準(zhǔn)時(shí),所以做這個(gè)保證應(yīng)答時(shí)鐘是有效的。如果從端BQ500414Q還
沒(méi)有應(yīng)答時(shí),但此時(shí)主控MCU把SCL置高了,此時(shí)BQ500414Q會(huì)拉強(qiáng)行把SCL拉低,一直要到BQ500414Q發(fā)出的SDA
應(yīng)答是有效時(shí),BQ500414Q才會(huì)放開對(duì)SCL的拉低。這是BQ500414Q與EEPROM的I2C一個(gè)差大的差別。
*********************************************************************************************/
for(count=0;count<100;count ) //等待從端從BUSY狀態(tài)恢復(fù)出來(lái), 放開SCL才能置高.此循環(huán)最大延時(shí)110uS.
{ if(SCL==1)
break;
_nop_();
}
delay_2us(); //應(yīng)答高電平>=4us
delay_2us();
if(SDA==1)ack=0; /*判斷是否接收到應(yīng)答信號(hào)*/
else ack=1;
SCL=0;
delay_5us();
}
/*******************************************************************
字節(jié)數(shù)據(jù)接收函數(shù)
函數(shù)原型: uchar RcvByte();
功能: 用來(lái)接收從器件傳來(lái)的數(shù)據(jù),并判斷總線錯(cuò)誤(不發(fā)應(yīng)答信號(hào)),
發(fā)完后請(qǐng)用應(yīng)答函數(shù)應(yīng)答從機(jī)。
********************************************************************/
uchar RcvByte()
{
uchar retc=0,BitCnt,count;
SDA=1;
delay_5us(); //由于BQ500414Q芯片工作很忙, 延時(shí)
for(BitCnt=0;BitCnt<8;BitCnt )
{
SCL=0;
delay_5us(); /*時(shí)鐘低電平周期大于4.7μs*/
SCL=1;
_nop_();
_nop_();
/*********************************************************************************************
由于BQ***工作很忙,發(fā)出數(shù)據(jù)太慢,動(dòng)態(tài)的不準(zhǔn)時(shí),時(shí)快時(shí)慢。處理完1字節(jié)后,有時(shí)要大于50us才發(fā)下一個(gè)字節(jié).
如果從端BQ500414Q還沒(méi)有發(fā)出有效的數(shù)據(jù),但此時(shí)主控MCU把SCL置高了,此時(shí)BQ500414Q會(huì)拉強(qiáng)行把SCL拉低,
直要到BQ500414Q發(fā)出的SDA是有效時(shí),BQ500414Q才會(huì)放開對(duì)SCL的拉低。這是BQ500414Q與EEPROM的I2C一個(gè)差大的差別。
*********************************************************************************************/
for(count=0;count<100;count ) //等待從端由BUSY狀態(tài)恢復(fù)出來(lái), 放開SCL才能置高.此循環(huán)最大延時(shí)110mS.
{
if(SCL==1)
break;
_nop_();
}
delay_2us();
retc=retc<<1;
if(SDA==1)retc=retc | 1;
_nop_();
}
SCL=0;
_nop_();
_nop_();
return(retc);
}
/********************************************************************
應(yīng)答子函數(shù)
函數(shù)原型: void Ack_I2c(bit a);
功能: 主控器進(jìn)行應(yīng)答信號(hào)(可以是應(yīng)答或非應(yīng)答信號(hào),由位參數(shù)a決定)
********************************************************************/
void Ack_I2c(bit a)
{
if(a==0)SDA=0;
else SDA=1;
delay_5us();
SCL=1;
delay_5us();
SCL=0;
delay_5us();
}
/*******************************************************************
用戶接口函數(shù)
*******************************************************************/
/*******************************************************************
向有子地址器件發(fā)送多字節(jié)數(shù)據(jù)函數(shù)
函數(shù)原型: bit ISendStr(uchar sla,uchar suba,ucahr *s,uchar no);
功能: 從啟動(dòng)總線到發(fā)送地址,子地址,數(shù)據(jù),結(jié)束總線的全過(guò)程,從器件
地址sla,子地址suba,發(fā)送內(nèi)容是s指向的內(nèi)容,發(fā)送no個(gè)字節(jié)。
如果返回1表示操作成功,否則操作有誤。
注意: 使用前必須已結(jié)束總線。
********************************************************************/
uchar ISendStr(uchar sla,uchar suba,uchar *s,uchar no)
{ uchar i;
if(no == 0)
return(1);
Start_I2c();
SendByte(sla);
if(ack==0)return(0);
SendByte(suba);
if(ack==0)return(0);
for(i=0;i<no;i )
{
SendByte(*s);
if(ack==0)return(0);
s ;
}
Stop_I2c();
return(1);
}
/*******************************************************************
向有子地址器件讀取多字節(jié)數(shù)據(jù)函數(shù)
函數(shù)原型: bit RecndStr(uchar sla,uchar suba,ucahr *s,uchar no);
功能: 從啟動(dòng)總線到發(fā)送地址,子地址,讀數(shù)據(jù),結(jié)束總線的全過(guò)程,從器件
地址sla,子地址suba,讀出的內(nèi)容放入s指向的存儲(chǔ)區(qū),讀no個(gè)字節(jié)。
如果返回1表示操作成功,否則操作有誤。
注意: 使用前必須已結(jié)束總線。
********************************************************************/
bit IRcvStr(uchar sla,uchar suba,uchar *s,uchar no)
{
uchar i;
Start_I2c();
SendByte(sla);
if(ack==0)return(0);
SendByte(suba);
if(ack==0)return(0);
Start_I2c();
SendByte(sla 1);
if(ack==0)return(0);
for(i=0;i<no-1;i )
{
*s=RcvByte();
Ack_I2c(0);
s ;
}
*s=RcvByte();
Ack_I2c(1);
Stop_I2c();
return(1);
}
uint8 led_state=0;
static uchar buffer_pld_monitor[32]; //PLD_MONITOR (Read only – Command 0xD5 ),讀數(shù)據(jù)存放
static uchar buffer_tx_state[32]; //TX_STATS (Read only – Command 0xD1)),讀數(shù)據(jù)存放
uchar COMM_GetTestvolt()
{
uchar ret;
ret = volt_test;
volt_test = 0;
return ret;
}
uchar COMM_GetTestamp()
{
uchar ret;
ret = amp_test;
amp_test = 0;
return ret;
}
uchar COMM_GetTestfod()
{
uchar ret;
ret = fod_test;
fod_test = 0;
return ret;
}
uchar COMM_GetTestpld()
{
uchar ret;
ret = pld_test;
pld_test = 0;
return ret;
}
uchar COMM_GetTestsend_power()
{
uchar ret;
ret = send_power_test;
send_power_test = 0;
return ret;
}
uchar COMM_GetTestrecv_power()
{
uchar ret;
ret = recv_power_test;
recv_power_test = 0;
return ret;
}
uchar COMM_GetTestvol_det1()
{
uchar ret;
ret = vol_det1_test;
vol_det1_test = 0;
return ret;
}
uchar COMM_GetTestvol_det2()
{
uchar ret;
ret = vol_det2_test;
vol_det2_test = 0;
return ret;
}
void ChargeCtrl_Main()
{
led_state=buffer_tx_state[22];
switch(ch_state)
{
case eIDLE:
if(led_state == LED_STATE_PWR_TRANS||led_state == LED_STATE_PWR_CPLT)
{
ch_state=eSTARTED;
charge_flag=1;
}
else
{
;//do nothing
}
break;
case eSTARTED:
charge_flag=1;
if(led_state == LED_STATE_PWR_TRANS)
{
ch_state=eCHARING;
charge_flag=2;
}
if(led_state == LED_STATE_PWR_CPLT)
{
ch_state=eFULL;
charge_flag=3;
}
if(led_state == LED_STATE_STANDBY)
{
ch_state=eREMOVE;
charge_flag=4;
}
break;
case eCHARING:
ch_state=2;
if(led_state == LED_STATE_PWR_TRANS)
{
ch_state=eCHARING;
charge_flag=2;
}
else if(led_state == LED_STATE_PWR_CPLT)
{
ch_state=eFULL;
charge_flag=3;
}
else if((led_state == LED_STATE_STANDBY))
{
ch_state=eREMOVE;
charge_flag=4;
}
break;
case eFULL:
ch_state=3;
if(led_state == LED_STATE_STANDBY)
{
ch_state=eREMOVE;
charge_flag=4;
}
else if(led_state == LED_STATE_PWR_TRANS)
{
ch_state=eSTARTED;
charge_flag=1;
}
break;
default:
break;
}
}
代碼片段和文件信息
#include?“main(st).h“
#include?“adc.h“
#define?ADC_CH_NUM???3U
#define?ADC_BUF_SIZE?8U
typedef?struct?
{
????uint8?np;???????????????/*buf?point*/
????uint8?nBufNum;??????????/*num?of?valid?data*/
????uint16?nBufArray[ADC_BUF_SIZE];
}ADC_Buf_t;
static?ADC_Buf_t?ADC_Buf[ADC_CH_NUM];
/*----------------------------
Get?ADC?result
----------------------------*/
uint16?GetADCResult(BYTE?ch)
{
????uint16?adc_result=0;
????ADC_CONTR?=?ADC_POWER?|?ADC_SPEEDHH?|?ch?|?ADC_START;
????_nop_();????????????????????????//Must?wait?before?inquiry
????_nop_();
????_nop_();
????_nop_();
????while?(!(ADC_CONTR?&?ADC_FLAG));//Wait?complete?flag
????ADC_CONTR?&=?~ADC_FLAG;?????????//Close?ADC
????adc_result?=?ADC_RES;
????adc_result?=?adc_result<<2;
????adc_result|=(ADC_LOW2&0x03);
????return?adc_result;?????????????????//Return?ADC?result
}
/*----------------------------
Software?delay?function
----------------------------*/
void?Delay(WORD?n)
{
????WORD?x;
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????7278??2017-01-09?19:07??stc_I2C_pro\output\adc.lst
?????文件??????16752??2017-01-09?19:07??stc_I2C_pro\output\adc.obj
?????文件??????12111??2017-01-09?19:07??stc_I2C_pro\output\app_Communct.lst
?????文件??????24708??2017-01-09?19:07??stc_I2C_pro\output\app_Communct.obj
?????文件??????20477??2017-01-09?19:07??stc_I2C_pro\output\cmpt_uart.lst
?????文件??????39018??2017-01-09?19:07??stc_I2C_pro\output\cmpt_uart.obj
?????文件???????2046??2017-01-09?19:07??stc_I2C_pro\output\delay.lst
?????文件???????3060??2017-01-09?19:07??stc_I2C_pro\output\delay.obj
?????文件???????2670??2017-01-09?19:07??stc_I2C_pro\output\driver_wrap.lst
?????文件??????10039??2017-01-09?19:07??stc_I2C_pro\output\driver_wrap.obj
?????文件??????26150??2017-01-09?19:07??stc_I2C_pro\output\iic.lst
?????文件??????37481??2017-01-09?19:07??stc_I2C_pro\output\iic.obj
?????文件???????2829??2017-01-09?19:07??stc_I2C_pro\output\interrupt.lst
?????文件???????9916??2017-01-09?19:07??stc_I2C_pro\output\interrupt.obj
?????文件??????10874??2017-01-09?19:07??stc_I2C_pro\output\lcd1602.lst
?????文件??????24380??2017-01-09?19:07??stc_I2C_pro\output\lcd1602.obj
?????文件??????17241??2017-01-09?19:07??stc_I2C_pro\output\main(ST).lst
?????文件??????23915??2017-01-09?19:07??stc_I2C_pro\output\main(ST).obj
?????文件??????15116??2017-01-09?19:07??stc_I2C_pro\output\STARTUP.lst
?????文件???????1062??2017-01-09?19:07??stc_I2C_pro\output\STARTUP.obj
?????文件?????203339??2017-01-09?19:07??stc_I2C_pro\output\stc_pro
?????文件???????2829??2016-06-24?18:48??stc_I2C_pro\output\stc_pro.build_log.htm
?????文件??????24105??2017-01-09?19:07??stc_I2C_pro\output\stc_pro.hex
?????文件??????58014??2016-06-15?13:53??stc_I2C_pro\output\stc_pro.LIB
?????文件????????368??2017-01-09?19:07??stc_I2C_pro\output\stc_pro.lnp
?????文件?????221510??2017-01-09?19:07??stc_I2C_pro\output\stc_pro.map
?????文件????????175??2017-04-13?10:43??stc_I2C_pro\output\stc_pro.plg
?????文件?????126779??2017-01-09?19:07??stc_I2C_pro\output\stc_pro.SBR
?????文件????????304??2016-06-15?13:53??stc_I2C_pro\output\stc_pro.__b
?????文件???????5094??2017-01-09?19:07??stc_I2C_pro\output\timer.lst
............此處省略80個(gè)文件信息
評(píng)論
共有 條評(píng)論