当前位置: 首页 > news >正文

销售推广做那个网站做网站建

销售推广做那个网站,做网站建,政务网站建设方案,vps 同时wordpress vpn用18b20 测试温度是非常常用的#xff0c;不过18B20的调试不是这么容易的#xff0c;有些内容网上很多的#xff0c;不再重复说了#xff0c;我先把波形说一下#xff0c;再说程序部分#xff1a; 整个都温度数据的顺序是#xff1a; 1.700uS的低电平复位并测试18B20的…用18b20 测试温度是非常常用的不过18B20的调试不是这么容易的有些内容网上很多的不再重复说了我先把波形说一下再说程序部分 整个都温度数据的顺序是 1.700uS的低电平复位并测试18B20的低电平响应 2.主机发送0xCC,0x44两个字节表示跳过地址只有一个18B20就不需要地址 3.再次复位 4.发送0xCC,0xBE,两个字节让它转换温度 5.读取2个字节这两个字节就是温度了。 6.这两个字节乘0.625就是温度了。 有一点说明一下主机输出用GPIO_InitStruct.Mode GPIO_MODE_OUTPUT_PP;用开漏不行。 代码贴一下 void b12_18b20_in() {GPIO_InitStruct.Pin GPIO_PIN_12;GPIO_InitStruct.Mode GPIO_MODE_INPUT;GPIO_InitStruct.Pull GPIO_PULLUP;GPIO_InitStruct.Speed GPIO_SPEED_FREQ_HIGH;HAL_GPIO_Init(GPIOB, GPIO_InitStruct); } void b12_18b20_out() {GPIO_InitStruct.Pin GPIO_PIN_12;GPIO_InitStruct.Mode GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull GPIO_PULLUP;GPIO_InitStruct.Speed GPIO_SPEED_FREQ_HIGH;HAL_GPIO_Init(GPIOB, GPIO_InitStruct); }管脚自己注意一下 #define DS18B20_DQ_OUT0 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET) #define DS18B20_DQ_OUT1 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET)#define DS18B20_DQ_IN HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_12)void DS18B20_Reset(void) {//设置DS18B20为输出模式b12_18b20_out();//拉低总线480-960usDS18B20_DQ_OUT0;delay_us(660);//释放总线15-60usDS18B20_DQ_OUT1;delay_us(15); }//等待DS18B20的回应 //返回1:未检测到DS18B20的存在 返回0:存在 uint8_t DS18B20_Check(void) {uint8_t retry 0;b12_18b20_in(); //设置为输入while (DS18B20_DQ_INretry200){retry;delay_us(1);};if(retry200)return 1;else retry0;while (!DS18B20_DQ_INretry240){retry;delay_us(1);};if(retry240)return 1;return 0; }//写一个字节到DS18B20 //dat要写入的字节 void DS18B20_Write_Byte(uint8_t dat){uint8_t j;uint8_t testb;b12_18b20_out(); //设置为输出for (j1;j8;j){testbdat0x01;datdat1;if (testb) //输出高{DS18B20_DQ_OUT0; //输出低电平delay_us(2); //延时2usDS18B20_DQ_OUT1; //输出高电平delay_us(60); //延时60us}else //输出低{DS18B20_DQ_OUT0; //输出低电平delay_us(60); //延时60usDS18B20_DQ_OUT1; //输出高电平delay_us(2); //延时2us}} }//从DS18B20读取一个位 //返回值1/0 uint8_t DS18B20_Read_Bit(void) //读一位 {uint8_t data;b12_18b20_out(); //设置为输出DS18B20_DQ_OUT0; //输出低电平delay_us(2);DS18B20_DQ_OUT1; //拉高b12_18b20_in(); //设置为输入delay_us(12); //延时12usif(DS18B20_DQ_IN)data1; //读取总线数据else data0;delay_us(50); //延时50usreturn data; }//从DS18B20读取一个字节 //返回值读到的数据 uint8_t DS18B20_Read_Byte(void) //读一字节 {uint8_t i,j,dat;dat0;for (i1;i8;i){jDS18B20_Read_Bit();dat(j7)|(dat1);}return dat; }void DS18B20_start() {DS18B20_Reset();DS18B20_Check();DS18B20_Write_Byte(0xCC);DS18B20_Write_Byte(0x44); }short Get_temp(void){uint8_t temp;short tem;DS18B20_start();DS18B20_Reset();DS18B20_Check();DS18B20_Write_Byte(0xCC);DS18B20_Write_Byte(0xBE);uint8_t TL DS18B20_Read_Byte();uint8_t TH DS18B20_Read_Byte();if( TH 7 ){temp 0; //温度为负TH ~TH;TL ~TL;}else{temp 1; //温度为正}tem TH;tem 8;tem TL;//printf( %f\r\n, tem);tem tem * 6.25;if(temp 1){return tem;}else{return ~tem;}}输出 short temp Get_temp();uint16_t t temp ;printf(wendu %02d.%02d\r\n , t/100, t%100);因为浮点数直接打印有点问题现在这样如果有负问题可能存在问题自己注意一下。 使用了short。 us延时函数看我的前面一篇文章。
http://www.hkea.cn/news/14264019/

相关文章:

  • 吉安网站建设jajjjc搜索引擎优化自然排名的区别
  • wordpress自动排版的编辑器宁波外包seo服务
  • 技术支持东莞网站建设可以免费发布信息的网站有哪些
  • 做宣传的视频网站有哪些微信公众号如何开通
  • 广州做网络服装的网站建设wordpress永久免费
  • 一个空间能放几个网站云南网站开发报价
  • 深喉咙企业网站帮助备案网站名称大全
  • 凡客包包seo谷歌推广
  • 中国建设银行官方网站登录手机永久免费建站
  • 校园网站建设考核网站挖掘工具
  • 网站开发花费网站横幅广告代码
  • 吉林市做网站公司怎么简单做网站排名
  • 白鹭引擎做h5网站网络营销就是网上消售吗
  • 网站开发项目实训报告网站icp备案证明文件
  • 哪个网站可以做计算机二级的题做网站建设的怎么拓展业务
  • 网站模板哪个好用海珠区住房和水务建设局网站
  • 网站开发作品wordpress导航文件
  • cdr做图时怎么找到网站的域名购买平台哪个好
  • 哪里制作网站好赣州章贡区邮政编码是多少
  • 网站产品展示方案做网站都需要租服务器吗
  • 买家乡的特产网站建设样本我的网站不做推广 百度能搜索到我网站吗
  • 网站开发电话发帖秒收录的网站
  • 建站最好的公司排名编辑网站用什么软件
  • 阿里云云主机做网站栾城网站制作
  • 南宁网站建设产品介绍网站以前在百度能搜索不到了
  • dede手机网站建设教程布吉做棋牌网站建设哪家公司便宜
  • 徐州市建设局网站首页佛山做网站那家好
  • 苏州建设工程招标网站新手学建设网站
  • 做网站都要掌握什么软件装饰工程有哪些
  • 免费ppt下载网站新闻最新事件