平台: freescale CodeWarrior
MCU:MC9S12G128(汽车级芯片)
#include "Ds18b20.h"
/************************************************************
* DS18B20 status initialization
************************************************************/
#pragma MESSAGE DISABLE C12056 //屏蔽警告
INT8U Ds18b20StsInit(void)
{
INT8U ack = DB_OK;
INT16U outTime = 500;
//DisableInterrupts
/* 初始化状态 */
BUS_DIR = HIGH;
BUS = HIGH;
DelayUs(8);
/* 拉低BUS,延时500us */
BUS = LOW;
DelayUs(480);
/* BUS上拉,延时15us-60us */
BUS = HIGH;
DelayUs(30);
/* BUS设置为输入 */
BUS_DIR = LOW;
/* 等待DS18B20存在脉冲做出回应,0正常,60-240us */
DelayUs(8);
while(BUS)
{
--outTime; //