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

  • 大小: 12KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-08
  • 語言: 其他
  • 標簽: MLX90614??

資源簡介

SMBUS兩線制協議 模擬IIC main函數里面先初始化 然后直接調用ReadTemperature函數就可以了

資源截圖

代碼片段和文件信息

/*******************************************************************************
*?文件名 :?mlx90614.c
*?作??者 :?
*?版??本 :?
*?日??期 :?2015-11-25
*?描??述 :?mlx90614函數
*******************************************************************************/

/*?Includes?------------------------------------------------------------------*/
#include?“mlx90614.h“
#include?“stm32f10x.h“

/*?Private?typedef?-----------------------------------------------------------*/
/*?Private?define?------------------------------------------------------------*/
#define?ACK ?0
#define NACK?1
#define?SA 0x00?//Slave?address?默認為0x5a
#define?RAM_ACCESS 0x00?//RAM?access?command
#define?EEPROM_ACCESS 0x20?//EEPROM?access?command
#define?RAM_TOBJ1 0x07?//To1?address?in?the?eeprom

#define?SMBUS_PORT ????GPIOB
#define?SMBUS_SCK GPIO_Pin_6
#define?SMBUS_SDA GPIO_Pin_7

#define?RCC_APB2Periph_SMBUS_PORT RCC_APB2Periph_GPIOB

#define?SMBUS_SCK_H() ????SMBUS_PORT->BSRR?=?SMBUS_SCK??//置高
#define?SMBUS_SCK_L() ????SMBUS_PORT->BRR?=?SMBUS_SCK???//置低
#define?SMBUS_SDA_H() ????SMBUS_PORT->BSRR?=?SMBUS_SDA
#define?SMBUS_SDA_L() ????SMBUS_PORT->BRR?=?SMBUS_SDA

#define?SMBUS_SDA_PIN() ????SMBUS_PORT->IDR?&?SMBUS_SDA?//讀取引腳電平

/*?Private?macro?-------------------------------------------------------------*/
/*?Private?variables?---------------------------------------------------------*/

/*******************************************************************************
*?Function?Name??:?SMBus_StartBit
*?Description????:?Generate?START?condition?on?SMBus
*?Input??????????:?None
*?Output?????????:?None
*?Return?????????:?None
*******************************************************************************/
void?SMBus_StartBit(void)
{
????SMBUS_SDA_H(); //?Set?SDA?line
????SMBus_Delay(5); ????//?Wait?a?few?microseconds
????SMBUS_SCK_H(); //?Set?SCL?line
????SMBus_Delay(5); ????//?Generate?bus?free?time?between?Stop
????SMBUS_SDA_L(); //?Clear?SDA?line
????SMBus_Delay(5); ????//?Hold?time?after?(Repeated)?Start
????//?Condition.?After?this?period?the?first?clock?is?generated.
????//(Thd:sta=4.0us?min)
????SMBUS_SCK_L(); ????//?Clear?SCL?line
????SMBus_Delay(5); ????//?Wait?a?few?microseconds
}

/*******************************************************************************
*?Function?Name??:?SMBus_StopBit
*?Description????:?Generate?STOP?condition?on?SMBus
*?Input??????????:?None
*?Output?????????:?None
*?Return?????????:?None
*******************************************************************************/
void?SMBus_StopBit(void)
{
????SMBUS_SCK_L(); //?Clear?SCL?line
????SMBus_Delay(5); ????//?Wait?a?few?microseconds
????SMBUS_SDA_L(); //?Clear?SDA?line
????SMBus_Delay(5); ????//?Wait?a?few?microseconds
????SMBUS_SCK_H(); //?Set?SCL?line
????SMBus_Delay(5); ????//?Stop?condition?setup?time(Tsu:sto=4.0us?min)
????SMBUS_SDA_H(); //?Set?SDA?line
}

/*********************************************************************

評論

共有 條評論