收藏 分享(赏)

stm32下ds18b20驱动程序-适用于ucos系统.doc

上传人:cjc2202537 文档编号:1053067 上传时间:2018-06-08 格式:DOC 页数:9 大小:100.50KB
下载 相关 举报
stm32下ds18b20驱动程序-适用于ucos系统.doc_第1页
第1页 / 共9页
stm32下ds18b20驱动程序-适用于ucos系统.doc_第2页
第2页 / 共9页
stm32下ds18b20驱动程序-适用于ucos系统.doc_第3页
第3页 / 共9页
stm32下ds18b20驱动程序-适用于ucos系统.doc_第4页
第4页 / 共9页
stm32下ds18b20驱动程序-适用于ucos系统.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、/*/* HAL_DS18B20.h*/*/#ifndef _DS18B20_H_#define _DS18B20_H_void DS18B20_init(void);typedef structfloat (*ReadTemp)(void);HAL_DS18B20_T;extern HAL_DS18B20_T HAL_DS18B20;#endif/* 模块名称 : HALDS18B20 驱动程序 * 文件名称 : HAL_DS18B20.c* 版 本 : V1.0* 作 者 : * 说 明 : * 修改记录 - * 版 本 : * 作 者 : * 完成日期 : * 修改说明 : * - */

2、#include “bsp.h“HAL_DS18B20_T HAL_DS18B20;/*硬件配置 DATA:PC1*/#define DS18B20GPIO GPIOA#define DS18B20PIN GPIO_Pin_7#define DS18B20RCCAHB RCC_AHB1Periph_GPIOA#define SET_DATA_OUTPUT() GPIO_InitStructureDS18B20.GPIO_Mode = GPIO_Mode_OUT;GPIO_Init(DS18B20GPIO, #define SET_DATA_INPUT() GPIO_InitStructureD

3、S18B20.GPIO_Mode = GPIO_Mode_IN;GPIO_Init(DS18B20GPIO, #define SET_DATA() DS18B20GPIO-BSRRL = DS18B20PIN /设置为高电平#define CLR_DATA() DS18B20GPIO-BSRRH = DS18B20PIN /设置为低电平#define GET_DATA() GPIO_ReadInputDataBit(DS18B20GPIO, DS18B20PIN)#define READ_ROM (0x33) /#define MATCH_ROM (0x55)#define CONVERT_T

4、 (0x44)#define READ_SCRATCHPAD (0xBE)GPIO_InitTypeDef GPIO_InitStructureDS18B20;void DS18B20_DELAY_US(int c);char DS18B20_id8 = 0;char DS18B20_open(void)void DS18B20_close(void)/* 函 数 名: _DS18B20_delay* 功能说明: DS18B20 延时* 形 参: 无* 返 回 值: 无*/void DS18B20_DELAY_US(int c)int i =0;int j = 0;for(i=0;ii)/*

5、函 数 名: DS18B20_read_byte* 功能说明: DS18B20 读 1 个字节,低位在前;* 形 参: 无* 返 回 值: 无*/char DS18B20_read_byte(void)char ret=0;int i;for(i=0; i50)ret = -1; */return code; /* 函 数 名: GetTemp1* 功能说明: DS18B20 读温度代码* 形 参: 无* 返 回 值: 无*/float GetTemp1(void)/机箱内温度int temp = 0;DS18B20_open();DS18B20_reset();DS18B20_convert

6、(DS18B20_id);temp = DS18B20_read_temperature(DS18B20_id);DS18B20_close();return (float)temp/20.0;/* 函 数 名: DS18B20_Config* 功能说明: DS18B20 驱动配置* 形 参: 无* 返 回 值: 无*/void DS18B20_Config(void)RCC_APB1PeriphClockCmd(DS18B20RCCAHB, ENABLE);/* 配置 OE 口为输出模式 */GPIO_InitStructureDS18B20.GPIO_Mode = GPIO_Mode_OU

7、T;GPIO_InitStructureDS18B20.GPIO_OType = GPIO_OType_PP;GPIO_InitStructureDS18B20.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructureDS18B20.GPIO_PuPd = GPIO_PuPd_UP;GPIO_InitStructureDS18B20.GPIO_Pin = DS18B20PIN;GPIO_Init(DS18B20GPIO, SET_DATA(); /SET_DATA_OUTPUT(); /delay_init(180);/* 函 数 名: DS18B20_init* 功能说明: DS18B20 驱动配置* 形 参: 无* 返 回 值: 无*/void DS18B20_init(void)DS18B20_Config();DS18B20_read_id(DS18B20_id);HAL_DS18B20.ReadTemp = GetTemp1;/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报