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

企业为什么要做建站关键字搜索

企业为什么要做建站,关键字搜索,网站开发href使用本地链接,济南市建设网官网每日一言 人生没有重来的机会,珍惜当下,全力以赴 3.串口接收数据 那么我们要是想要将数据在电脑上面的串口助手显示,那么我们就需要建立起串口通信, 1初始化波特率的代码 2.发送字符和发送字符串到串口的函数 我们需要做到以上…

每日一言

       人生没有重来的机会,珍惜当下,全力以赴

3.串口接收数据

那么我们要是想要将数据在电脑上面的串口助手显示,那么我们就需要建立起串口通信,

1初始化波特率的代码  2.发送字符和发送字符串到串口的函数

我们需要做到以上两点

所以我们要加入这些代码

初始化9600波特率                                  发送字符和发送字符串到串口的函数

我还需要讲一下原理吗 ??? 亲爱的少年,请你好好的巩固你的江山

原理就是,我们不是通过那个datainfo[]这个数组将数据都存放到这里了吗

这个sendByte(此参数是一个字节的数据)

那我们就可以利用sendByte函数,或者是说sendString函数将数据发送到SUBF发送寄存器,然后由SUBF发送到PC的接收寄存器,那么SUBF为什么可以发送,凭借着相同的波特率和usb转ttl的ch340芯片,pc有ch340驱动、单片机有ch340芯片,这样两者就可以进行串口通信了,别看数据线是没有显示RXD和TXD的但是其实是有的,只是我们看不到....

代码展示

这边主要就是讲一下sendByte(datainfo[0]/10+0x30);

这个参数的意思,为啥要这样设置

比如datainfo[5]这个数组里面不是第一项都是湿度的整数吗,那如果DHT11传上来的01010010这样的二进制数,而且他是想要表示的是37,可是这个是数字37,那么我们再将这个直接传给串口助手的话,他是会讲这个37作为ASCII码值转换成字符的,那就不是我们想要的了,所以我们要将datainfo[]数组里面的数字37转换成字符37再传给串口,这样才是我们想要的

我们先将整数的十位取出来,再将个位转取出来,取十位就是/10  ,取个位就是%10(c语言基础),加上0x30,为什么加上0x30呢,因为是 字符0的16进制,对应ASCII码值为48(十进制),那么我可以通过取出来的十位(比如5)或者个位加上48,得到比如53这个ASCII码,那么53对应的就是字符5   (注意,这也是我们为什么要用十位和个位取出来的一个方向)

这样我们的串口助手就可以收到正确的信息了,其实还有一个点就在串口助手是用文本模式接收的,那么肯定就是需要字符啊,不是字符的格式,那么就是会有误啊

这样就OK啦

4.LCD显示温度

我们将LCD的代码与DHT11的代码整合起来

主要的区别点在哪?

就是将temp温度 和 humi湿度的数据存放到数组里面,进行整合一下,那为什么要存放到数组里面呢?1、其实也跟我们LCD的显示字符串的函数有关,因为需要传进去的是指针,2、封装函数显得main函数不会那么多代码,

在写一个函数用于构建temp数组和humi数组,这样我们调用的时候,就可以都获取到全部数据了,循环调用,数据会不断的刷新,最后我们的show_string()

函数里面的第三个参数就填数组名就好了,因为show_string函数的第三个函数接收的是指针,那么我们直接传数组名,就等于是数组的首地址,随后一个个遍历出来

复习一下:

二、DataBuffer 的作用:数据暂存与读写控制

1. 写操作(单片机→LCD)

流程
① 单片机将数据(如字符 'A' 的 ASCII 码0x41)写入dataBuffer
② 设置控制信号:RS=1(数据模式),RW=0(写操作),E=1→0(触发使能)。
③ dataBuffer中的数据通过 8 位数据线传输到 LCD 的数据寄存器(DR),LCD 根据 DR 中的内容执行显示动作(如在当前光标位置显示字符)。

核心原理
LCD 内部有显示缓冲区(DDRAM),当 DR 接收到数据后,会将其写入 DDRAM 对应的地址,而 LCD 的控制器会周期性扫描 DDRAM,并将数据转换为驱动像素的电信号,最终在屏幕上显示字符

分文件优化代码

我们来优化一下又长又臭的代码!!!!

我们这个代码不是来到了300行嘛,那肯定是很难受的,且不易于维护,那么我们就要进行分文件优化代码

最终效果

会发现多了好多文件,这就是最终的效果

怎么操作??

我们右键sourse group 1 选择第二个添加新文件

举个例子这边用delay

我们不是有很多模块吗,都是先给每一个模块创建一个.c文件,还有一个.h文件

先讲.c文件

我们将main函数里面比如有关delay、uart啊等等,把他们分别剥离到属于他们自己的.c文件中,只要,是有关的都给剥离出来。也就是模块化,一个个模块分清楚

随后我们讲一讲.h文件里面的内容

这个.h文件里面的内容就是,将.c文件复制过去,删掉比如引脚、宏定义、等等。只要留下函数,并把函数体删掉,.h文件的作用目的是做声明函数的作用

就像我们在图书馆看书,.h文件就是目录,.c文件就是内容

我们main函数要引用.h文件啊

这样我们的main函数调用函数的时候才可以找得到对应的函数。

别忘了,要会看编译错误的信息,因为有些就是需要我们加上引用其他的头文件,比如uart.c是关于串口的文件,那么是不是那些寄存器的定义都不懂,所以我们要加上reg52.h文件,当然了这个文件就是51单片机对寄存器那些名字的声明,和我们的.h文件实质上是一样的,就是你的.c文件里面的代码需要用到另外一个.c文件里面的函数,那我们就需要引用另外一个文件的.h文件

最后对于我们这个代码,重点来了

我们这个main函数里面不是需要用到humi和temp数组吗,但是这两个数组是dht.c文件里面的,然后我们是不能重复定义的(肯定啊,语法) ,但是main函数我们又要用到这个两个数组,那么我们可以利用extern这个关键字

这个关键字呢通俗的讲:就是可以直接调用dht.c函数的temp和humi的数组,而不是自己创建  自己创建的能一样吗,直接语法错了不让重复定义,(在python中:县长张三和村长张三能一样吗?)

好了,这样就符合我们的main函数的编译和运行了,就成功了,就是那么舒服

分文件优化代码的视频(跟着视频操作,或者看一下,一下就懂了)

http://www.dtcms.com/wzjs/271121.html

相关文章:

  • 昆明今天刚刚发生的新闻影响seo排名的因素
  • 园区网站到底怎么建设长沙网站定制
  • 用java做的网站郑州seo线下培训
  • 政府网站源码下载怎么创建网站平台
  • 如何修改wordpress权限设置seo文章代写一篇多少钱
  • 深圳建设网站培训机构seo计费系统开发
  • 做信息图的网站有哪些网页设计图片
  • 衡水网站建设制作微信投放广告多少钱
  • 洛阳微信网站建设东莞谷歌推广公司
  • 品牌网站建设报价单北京搜索优化推广公司
  • 单页网站制作程序虎门今日头条新闻
  • 网站运营外包方案企业管理软件
  • ipv6改造网站怎么做镇江市网站
  • 哪里网站备案快正规电商平台有哪些
  • 电白网站开发公司兰州做网站的公司
  • wordpress删除修订版单页网站怎么优化
  • 睢县做网站哪家好制作一个网站大概需要多少钱
  • 松江网站开发培训班徐州seo排名公司
  • 谷歌网站怎么做推广搜索引擎营销案例分析题
  • 推广平台联系方式网站seo排名公司
  • 新网站怎样做优化可以直接进入网站的正能量
  • 好一点网站建设公司网络建设推广
  • 网络营销师报名入口上海关键词优化的技巧
  • 网站建设-选猴王网络个人做seo怎么赚钱
  • 特供邯郸做网站如何优化关键词排名快速首页
  • wordpress文章显示颜色云seo关键词排名优化软件
  • 网站代码 商品添加分类私人网站服务器
  • axure rp9网站界面设计网络舆情监测
  • 做物流的网站都有什么作用seo网站推广经理招聘
  • 深圳网站建设十强制作网页设计公司