ds18b20.h 946 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef __DS18B20_H
  2. #define __DS18B20_H
  3. #include "sys.h"
  4. //IO方向设置
  5. //#define DS18B20_IO_IN() {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=8<<11;}
  6. //#define DS18B20_IO_OUT() {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=3<<11;}
  7. void Input_Mode(void);
  8. void Output_Mode(void);
  9. #define DS18B20_PORT_CLK RCC_APB2Periph_GPIOB
  10. #define DS18B20_PORT GPIOB
  11. #define DS18B20_PIN GPIO_Pin_1
  12. ////IO操作函数
  13. #define DS18B20_DQ_OUT PBout(1) //数据端口
  14. #define DS18B20_DQ_IN PBin(1) //数据端口
  15. #define DS18B20_IO_IN() {Input_Mode();}
  16. #define DS18B20_IO_OUT() {Output_Mode();}
  17. u8 DS18B20_Init(void);//初始化DS18B20
  18. short DS18B20_Get_Temp(void);//获取温度
  19. void DS18B20_Start(void);//开始温度转换
  20. void DS18B20_Write_Byte(u8 dat);//写入一个字节
  21. u8 DS18B20_Read_Byte(void);//读出一个字节
  22. u8 DS18B20_Read_Bit(void);//读出一个位
  23. u8 DS18B20_Check(void);//检测是否存在DS18B20
  24. void DS18B20_Rst(void);//复位DS18B20
  25. #endif