91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

使用stc15w,內(nèi)涵stc庫(kù)函數(shù),串口中斷接收數(shù)據(jù),使用消息隊(duì)列,通過(guò)trigger腳來(lái)通知主機(jī)讀取,親測(cè)試通過(guò)。

資源截圖

代碼片段和文件信息

#include?“user.h“

#define?IIC_NUM?1

#define?write?0xfe
#define?read?0x01

#if?(IIC_NUM>0)
#define?IIC_SDAOut()????//GPIO_InitStructure_Mode_OUT_PP(IIC_cfg[IIC_busId].SDAPortIIC_cfg[IIC_busId].SDAPin)?
#define?IIC_SDAIn()?????//GPIO_InitStructure_Mode_IPU(IIC_cfg[IIC_busId].SDAPortIIC_cfg[IIC_busId].SDAPin)?

#define?IIC_SDA_1()?????GPIO_SetBits(IIC_cfg[IIC_busId].SDAPortIIC_cfg[IIC_busId].SDAPin);
#define?IIC_SDA_0()?????GPIO_ResetBits(IIC_cfg[IIC_busId].SDAPortIIC_cfg[IIC_busId].SDAPin);
#define?IIC_SCL_1()?????GPIO_SetBits(IIC_cfg[IIC_busId].SCLPortIIC_cfg[IIC_busId].SCLPin);
#define?IIC_SCL_0()?????GPIO_ResetBits(IIC_cfg[IIC_busId].SCLPortIIC_cfg[IIC_busId].SCLPin);
#define?IIC_SDA_STATE()?GPIO_ReadInputDataBit(IIC_cfg[IIC_busId].SDAPortIIC_cfg[IIC_busId].SDAPin)
#define?IIC_Delay()?????IIC_delay(IIC_cfg[IIC_busId].IICDelay_us)

#define?SetBusId(id)????IIC_busId=id


typedef?struct?_IIC_CFG_{
????uint8_t?IICDelay_us;
????GPIO_TypeDef*?SDAPort;
????uint16_t?SDAPin;
????GPIO_TypeDef*?SCLPort;
????uint16_t?SCLPin;
}IIC_CFG;


static?const?IIC_CFG?IIC_cfg[IIC_NUM]={
???? //根據(jù)實(shí)際情況調(diào)整頻率,此測(cè)試程序100us最佳
????????{100SDA2_PORTSDA2_PINSCL2_PORTSCL2_PIN}
????????????
};
static?uint8_t?IIC_busId=0;

#else
#define?IIC_SDAOut()????
#define?IIC_SDAIn()?????
#define?IIC_SDA_1()?????
#define?IIC_SDA_0()?????
#define?IIC_SCL_1()?????
#define?IIC_SCL_0()?????
#define?IIC_SDA_STATE()?0
#define?IIC_Delay()????
#define?SetBusId(id)
#endif





void?IIC_delay(uint8_t?x)
{
????delay_us(x);
}



void?IIC_Start(void)
{
/*?當(dāng)SCL高電平時(shí),SDA出現(xiàn)一個(gè)下跳沿表示IIC總線啟動(dòng)信號(hào)?*/
???
IIC_SDA_1();
IIC_SCL_1();
IIC_Delay();
IIC_SDA_0();
IIC_Delay();
IIC_SCL_0();
IIC_Delay();
}


void?IIC_Stop(void)
{
/*?當(dāng)SCL高電平時(shí),SDA出現(xiàn)一個(gè)上跳沿表示IIC總線停止信號(hào)?*/
IIC_SCL_0();
IIC_Delay();
IIC_SDA_0();
IIC_Delay();
IIC_SCL_1();
IIC_Delay();
IIC_SDA_1();
}

uint8_t?IIC_WaitAck(void)
{
????uint8_t?wait=0xff;
????
IIC_SDA_1(); /*?CPU釋放SDA總線?*/
????IIC_SDAIn();
?? IIC_Delay();
????
IIC_SCL_1(); /*?CPU驅(qū)動(dòng)SCL?=?1?此時(shí)器件會(huì)返回ACK應(yīng)答?*/
IIC_Delay();
????
????
????while(wait--)
????{
????????
????????if(!IIC_SDA_STATE())
????????{
????????????IIC_SCL_0();
???? IIC_Delay();
????????????IIC_SDAOut();
???? return?true;
????????}?
????????IIC_Delay();
????}
????IIC_SDAOut();
????return?false;
????



}


void?IIC_Ack(void)
{

IIC_SDA_0(); /*?CPU驅(qū)動(dòng)SDA?=?0?*/
IIC_Delay();
//?Delay_us(1);
IIC_SCL_1(); /*?CPU產(chǎn)生1個(gè)時(shí)鐘?*/
IIC_Delay();
//Delay_us(1);
IIC_SCL_0();
IIC_Delay();
//Delay_us(1);
IIC_SDA_1(); /*?CPU釋放SDA總線?*/

}


void?IIC_NAck(void)
{
IIC_SDA_1(); /*?CPU驅(qū)動(dòng)SDA?=?1?*/
IIC_Delay();
//?Delay_us(1);
IIC_SCL_1(); /*?CPU產(chǎn)生1個(gè)時(shí)鐘?*/
IIC_Delay();
//?Delay_us(1);
IIC_SCL_0();
IIC_Delay();
//?Delay_us(1);
}

uint8_t?IIC_SendByte(uint8_t?_ucByte)
{
uint8_t?i;

/*?先發(fā)送字節(jié)的高位bit7?*/
for?(i?=?0;?i? {
if?(_ucByte?&?0x80)
{
IIC_SDA_1(

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-01-04?09:21??IIC_MASTER\
?????文件????????6567??2018-01-04?09:25??IIC_MASTER\iic.c
?????文件?????????521??2017-12-27?17:07??IIC_MASTER\iic.h
?????文件????????1777??2018-01-04?09:27??IIC_MASTER\iic_stc_demo.c
?????文件??????????43??2018-01-04?09:26??IIC_MASTER\readme.txt
?????目錄???????????0??2018-01-04?09:16??IIC_SLAVE\
?????目錄???????????0??2018-01-04?09:16??IIC_SLAVE\Listings\
?????文件???????42293??2018-01-03?18:47??IIC_SLAVE\Listings\PA3.m51
?????文件???????14458??2017-12-11?16:11??IIC_SLAVE\Listings\USART.lst
?????文件?????????548??2018-01-02?12:20??IIC_SLAVE\Listings\apd.lst
?????文件????????1356??2018-01-03?18:37??IIC_SLAVE\Listings\delay.lst
?????文件?????????569??2018-01-02?12:20??IIC_SLAVE\Listings\eeprom.lst
?????文件????????3679??2018-01-03?18:37??IIC_SLAVE\Listings\fun.lst
?????文件?????????555??2018-01-02?12:20??IIC_SLAVE\Listings\func.lst
?????文件???????10787??2018-01-03?18:37??IIC_SLAVE\Listings\gpio.lst
?????文件????????9275??2018-01-03?18:37??IIC_SLAVE\Listings\iic_slave.lst
?????文件?????????548??2018-01-02?12:20??IIC_SLAVE\Listings\key.lst
?????文件????????1636??2018-01-03?18:37??IIC_SLAVE\Listings\main.lst
?????文件????????4047??2018-01-03?18:37??IIC_SLAVE\Listings\message.lst
?????文件?????????562??2018-01-02?12:20??IIC_SLAVE\Listings\power.lst
?????文件?????????576??2018-01-02?12:20??IIC_SLAVE\Listings\protect.lst
?????文件????????2336??2018-01-03?18:37??IIC_SLAVE\Listings\timer.lst
?????文件?????????576??2018-01-02?12:20??IIC_SLAVE\Listings\trigger.lst
?????文件????????4798??2018-01-03?18:37??IIC_SLAVE\Listings\uart.lst
?????目錄???????????0??2018-01-04?09:16??IIC_SLAVE\objects\
?????文件??????253063??2018-01-03?18:47??IIC_SLAVE\objects\PA3
?????文件?????????934??2017-12-27?13:56??IIC_SLAVE\objects\PA3.build_log.htm
?????文件????????9538??2018-01-03?18:47??IIC_SLAVE\objects\PA3.hex
?????文件?????????257??2018-01-03?18:47??IIC_SLAVE\objects\PA3.lnp
?????文件??????127883??2018-01-03?18:47??IIC_SLAVE\objects\PA3.plg
?????文件?????????105??2018-01-02?12:20??IIC_SLAVE\objects\apd.__i
............此處省略99個(gè)文件信息

評(píng)論

共有 條評(píng)論