学习C语言之前要做什么准备

电子说

1.3w人已加入

描述

学51单片机前期的C语言知识储备要到什么程度

新手在学习c语言前期的时候,只要学习基本语法就可以了,来来去去就5条最常用的语句。

比如说if..else,for,while, switch, 赋值语句(=).

加减乘除,或运算、与运算、非运算,7个运算符

||、&&、!=、==,4个逻辑关系符

unsigned char、unsigned char short、unsigned char long,3个最常用的数据类型。

二进制、十进制、十六进制,3个进制转换

还有就是函数的调用和定义。

基本上掌握这些就能编写很多程序了,学c语言是一个循环渐进的过程,不要一上来就想着要写很复杂的程序,再牛X的大佬也是从点灯开始,等写多了,熟悉了,到时候再学习结构体、指针之类的东西,没有一定的基础时候,去学一些高级应用肯定是学不懂的,只有等碰到了只能用指针、结构体去实现的功能的时候,你才会深刻理解它们的作用。

51单片机

别人在设计产品的时候设置的功能码,一个是03用来读取数据,读取数据的时候,用户在设计的产品的时候应该怎么设计?首先要设计这个03功能码,它针对哪些寄存器,那这个寄存器它到底什么含义?实际上就是是寄存器地址,但实际上就是我们给它一个变量,如果说我们用C语言来编代码,那实际上就是接触到这个数据的时候,就是说你要获取的是温度的一个计算机的数据就是这样,实际上是我们人为的一个定义,它不是一个实际的一个地址,就是它不是一个实际的地址,是我们一个规定。

51单片机

比如发送命令的时候,发送0103,接收到公众码,我接收到你的0000就知道要读多少个寄存器,要读一个那就认为你是在读温度,这个是我们在设计产品的时候自己设计的,自己规定好的,那这些地址也是我们自己规定好的,当然了,要参考的这个MODBUS协议,这样的话我们把这个东西规定好,然后给出一般的功能码03和06,这两个公众码都不是特别难,这两个功能码理解了以后,再去拓展其它的功能码可能就更方便一点。

比如03这个就是一个地址,一个功能码起始寄存器的地址,寄存器的长度,然后校验码,这个就是它对于这种问询追它要给出响应,就是你设计产品,别人发给你这个,那你接收是不是要解析,接收01知道是我的,再继续解析,知道是03,它是要读了,然后找到它要读什么?判断它是0000就知道它要从这个地址开始读。

51单片机

它要读两个就知道它要温度和湿度,设计的当前的温湿度产品,应该给它回一串数据,比如说你是单片机开发的,那你可能单片机有一个温湿度,有一个传感器,有个单片机,然后呢,还有一个485接口芯片,首先你的单片机要采集温湿度,采集了温湿度之后要把它组合数据包,组成数据包之后把这个问询帧给它发回去,这个就是我们要从这个产品的角度去理解人家这个东西是怎么设置的,包括它们的波特率,包括它的协议类型啊,包括这些东西以后设计的时候,也可以参考它这个来设计你的计算机地址,然后来设计你需要干什么事情,数据范围,你的数据类型支持哪些功能。

51单片机

这个东西我们熟悉了之后,以后给大家讲述如何用单片机来实现读取这个传感器的温湿度数据,这样的话就很方便了,比如构建了一个主从系统,需要用到多个温湿度传感器,用单片机就可以发这个问询帧来得到温湿度数据,然后把这个温度数据解析一下,然后去做显示,或者去做其它的一些控制处理等等,这两期主要是让大家更加的巩固一下MODBUS协议,也就是深入的理解一下,只有理解了这个协议,那你后面自己在做应用的时候才知道如何去入手。

对单片机感兴趣的可以查看往期分享内容,希望能帮助大家在学习单片机的路上少走一些弯路,想要入门单片机可以持续关注创为单片机编程,回复“带我学习”查看更多内容分享。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分