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

游戏推广方法青海百度关键词seo

游戏推广方法,青海百度关键词seo,西安中企动力科技股份有限公司,做网站需要考虑seo吗用18b20 测试温度是非常常用的,不过18B20的调试不是这么容易的,有些内容网上很多的,不再重复说了,我先把波形说一下,再说程序部分: 整个都温度数据的顺序是: 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_IN&&retry<200){retry++;delay_us(1);};if(retry>=200)return 1;else retry=0;while (!DS18B20_DQ_IN&&retry<240){retry++;delay_us(1);};if(retry>=240)return 1;return 0;
}//写一个字节到DS18B20
//dat:要写入的字节
void DS18B20_Write_Byte(uint8_t dat){uint8_t j;uint8_t testb;b12_18b20_out();					//设置为输出for (j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;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)data=1;			//读取总线数据else data=0;delay_us(50);  						//延时50usreturn data;
}//从DS18B20读取一个字节
//返回值:读到的数据
uint8_t DS18B20_Read_Byte(void)    		//读一字节
{uint8_t i,j,dat;dat=0;for (i=1;i<=8;i++){j=DS18B20_Read_Bit();dat=(j<<7)|(dat>>1);}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.mmbaike.com/news/103902.html

相关文章:

  • 做网站备案是个人还是企业好百度应用app
  • 网站可以有二维码吗seo营销外包
  • 建筑网站设计微信群推广
  • 杭州做网站 做小程序东莞网站推广哪里找
  • 海川建设公司网站关键词提取工具
  • wordpress同步插件关键词点击优化工具
  • 咸宁网站制作培训seo课程心得体会
  • 有什么可以在线做奥数题的网站今晚比赛预测比分
  • 工会网站建设管理工作总结seo排名点击软件运营
  • 重庆市城乡建设施工安全管理总站网站百度seo排名点击器app
  • 制作ppt用什么软件好seo的中文名是什么
  • 连连跨境电商网站怎么做什么是百度竞价
  • 用织梦做网站有后台吗百度网页版入口链接
  • 企业网站设计与实现太原网站快速排名提升
  • 重庆优化网站搜索引擎成功案例分析
  • 建公司网站步骤百度指数资讯指数是指什么
  • 网站流量推广跨境电商怎么开店铺
  • 苏州建设有限公司武汉seo价格
  • 做报纸版式的网站广州seo软件
  • 网站界面设计如何实现功能美与形式美的统一?搜索技巧
  • 手机触屏版网站管理系统网络推广培训班哪家好
  • 深圳网站建设开发公司南京seo优化推广
  • 微博内网站怎么做的有创意的营销案例
  • 网页搜题网页优化包括什么
  • 简单详细搭建网站教程视频教程域名查询seo
  • 如何建设国际网站首页信息流广告优化师培训
  • 有专门做宝宝用品的网站吗互联网项目推广平台有哪些
  • 不用php做网站今日头条新闻头条
  • 做设计必知网站网页制作免费模板
  • 漫画门户网站怎么做的长春百度seo公司