请问这个用C语言程序设计怎么做?

只要多用心学书难不难也不算主要的障碍
我学的时候,用的书才一百多页一半都是说怎么打字和操作DOS。

初学一般有这么几个难点:


1 编译环境 不会配置导致输入书上嘚例子还报错,打击积极性
其实也没什么到论坛上问问,看看书敲敲例子代码也就搞定了

C语言程序设计是面向过程的而C++是面向对象的

C是一个结构化语言,它的重点在于算法和数据结构C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)

C++,首要考虑的是如何构造一个对象模型让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样之所以說C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”而就语言本身而言,在C中更多的是算法的概念那么是不是C就不重要了,错!算法是程序设计的基础好的设计如果没有好的算法,一样不行而且,“C加上好的设计”也能写出非常好的东西

小编推荐一个学C语言程序设计/C++的学习裙【 六九九,四七零五九六 】,无论你是大牛还是小白是想转行还是想入行都可以来了解一起进步一起学习!裙内有開发工具,很多干货和技术资料分享!

上图是我购买的一块STM32的开发板大家可以发现这块开发板是由一块STM32主芯片和很多个外部设备组成的,有大家熟悉的USB、SD卡电源接口等等还有大家以前没有了解过的一些外设。也就是我以前和大家讲过的大脑和手脚这样才能形成一个体系,如果只有MCU那么它如何去执行任务呢?如果只有外设那么谁去控制它们执行呢?管理者和执行者缺一不可

在学习编程之前,让我們先来了解一下STM32的内部结构

每一款芯片都有晶振,晶振又称为是MCU的“心脏”不是通上电MCU就可以正常运行了,是晶振推动程序的执行的这一点大家要注意,STM32不响51单片机只有一个晶振我选的这一款芯片有5个时钟源,为什么它需要这么多时钟源呢是为了适应自带的一些設备,有的设备需要高频的时钟而有些低频的就可以满足它们的使用要求了,如果都使用高频的那么就会浪费大量的能量,做过产品嘚同学肯定知道一个产品的功效是很严格的特别是出口产品,如果功效不达标也就是造成能源的浪费是无法进行销售的,这会造城很夶的损失所以这也是STM32在控制领域火爆的原因,它能很好地控制功效也就是所谓的低功耗。

小编推荐一个学C语言程序设计/C++的学习裙【 六⑨九四七零,五九六 】无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具很多干货和技术资料分享!

我一开始学习的时候就有一个疑问,开发板的引脚就那么多为什么能实现那么多功能呢?之后我才明白STM32自带了很多强夶的功能,但是引脚的数量有限所以很多时候它们都是共用一些引脚,但是里面有个功能选择器我们想使用哪个功能时,就设置功能選择器这时他就会打通相应通道,并且关闭其他通道这样就实现了功能的多样性。

前一段时间和大家讲过了MCU是如何控制这些功能的,MCU中有很多地址它是通过控制这些地址所对的数据从而实现控制设备的,这些地址对应的就是功能这些地址所对应的内容也被称为寄存器。但是如果直接去控制寄存器步骤会很繁琐每实现一个功能就要配置很多寄存器,量大而且容易配置出错所以这些芯片的的厂家為了方便大家编程,封装了很多库函数库函数实现了很多功能初始化的分装,我们只要简单调用他们就能配置好所要使用的寄存器了泹是寄存器还是建议大家学习一下的,因为那样才能真正了解芯片的工作原理给大家实现一个简单的程序,点亮一个LED灯这个真的是嵌叺式中最简单的程序了,就好比你伸手去开个灯那么简单我用寄存器和库函数各实现一下个大家看看。

LED=0;//关闭LED灯 LED做过宏定义,要自己去萣义LED代表管脚

小编推荐一个学C语言程序设计/C++的学习裙【 六九九四七零,五九六 】无论你是大牛还是小白,是想转行还是想入行都可以來了解一起进步一起学习!裙内有开发工具很多干货和技术资料分享!

看了上述方式,很多人就说库函数配置那么复杂明明就是寄存器版本好,其实用过之后你就会发现库函数配置都是有规律的,而寄存器的的配置都是没有章法可循的因为设备的多样性,要配置的吔是千差万别但是寄存器执行要比库函数执行效率高,你要问我为什么因为库函数等于多了一个步骤,你是调用人家的函数人家的函数是对寄存器的配置,所以速度显而易见当然一般是感觉不出来的,除非是一丁点时间都不容易许浪费的设备

好了今天就介绍到这裏,从今天开始我们也正式开始学习STM32了,以后的日子还望大家一起努力觉得写的还行的帮忙点个赞呗,不好的还望提出意见和批评謝谢大家了。

这些是C/C++能做的

服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

我要回帖

更多关于 c语言 的文章

 

随机推荐