关于ARM驱动18B20

来源:百度知道 编辑:UC知道 时间:2024/06/06 17:36:16
小弟初学ARM,由于经济不景气,使用的是EasyARM1138开发板,欲用此开发板驱动18B20,不想小弟不才,写了良久没有写出来,还请哪位高人指点,把驱动函数告诉小弟一下,感激不尽,一定加分

我这有一个,不过不知道在Cortex-M3内核上能不能使,不能使的话改一下就行了
/*************** DS18B20初始化函数 ******************************/
void Init_DS18B20(void)
{
unsigned char x=0;
DQ = 1; //DQ复位
Delay(8); //稍做延时
DQ = 0; //单片机将DQ拉低
Delay(80); //精确延时 大于 480us
DQ = 1; //拉高总线
Delay(14);
x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
Delay(20);
}

/********************************************************/
函数: ReadOneChar(void)
功能: 从DS18B20接收字符
入口参数:无
出口参数 DAT
/*********************************************/
unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号
dat>>=1;
DQ = 1;