分享

C语言程序设计之STM32,在这里轻松学习嵌入式编程

 AnonymousV脸 2018-03-27

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

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

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

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

c/c++初学者有什么不懂的可以问我,一起来学习!——我刚整理了一套2018最新的0基础入门教程和进阶教程,无私分享,加裙七零一九八六七三四, 即可获取,内附:开发工具和安装包,以及系统学习路线图

c/c++初学者有什么不懂的可以问我,一起来学习!——我刚整理了一套2018最新的0基础入门教程和进阶教程,无私分享,加裙七零一九八六七三四, 即可获取,内附:开发工具和安装包,以及系统学习路线图

开发板什物图

上图是我采办的一块STM32的开发板,大师可以创造这块开发板是由一块STM32主芯片和良多个外部设备构成的,有大师熟悉的USB、SD卡电源接口等,等还有大师从前没有体味过的一些外设。也就是我从前和大师讲过的大脑和四肢举动,如许才能形成一个体系,若是只需MCU,那么它若何去执利用命呢?若是只需外设,那么谁去节制它们实行呢?办理者和实行者缺一不成。

在进修编程之前,让我们先来体味一下STM32的内部构造。

c/c++初学者有什么不懂的可以问我,一起来学习!——我刚整理了一套2018最新的0基础入门教程和进阶教程,无私分享,加裙七零一九八六七三四, 即可获取,内附:开发工具和安装包,以及系统学习路线图

STM32晶振

每一款芯片都有晶振,晶振又称为是MCU的“心脏”,不是通上电MCU就可以正常运转了,是晶振鞭策轨范的实行的,这一点大师要注意,STM32不响51单片机只需一个晶振,我选的这一款芯片有5个时钟源,为什么它必要这么多时钟源呢?是为了顺应自带的一些设备,有的设备必要高频的时钟,而有些低频的就可以满足它们的使用要求了,若是都使用高频的,那么就会华侈大量的能量,做过产物的同窗必定晓得一个产物的功能是很严格的,特别是出口产物,若是功能不达标,也就是形成能源的华侈是无法停止发卖的,这会造城很大的损失。所以这也是STM32在节制规模火爆的缘故缘由,它能很好地节制功能,也就是所谓的低功耗。

c/c++初学者有什么不懂的可以问我,一起来学习!——我刚整理了一套2018最新的0基础入门教程和进阶教程,无私分享,加裙七零一九八六七三四, 即可获取,内附:开发工具和安装包,以及系统学习路线图

STM32功能选择

我一起头进修的时辰就有一个疑问,开发板的引脚就那么多,为什么能实现那么多功能呢?之后我才明白,STM32自带了良多强大的功能,可是引脚的数目有限,所以良多时辰它们都是共用一些引脚,可是里面有个功能选择器,我们想使用哪个功能时,就设置功能选择器,这时他就会买通相应通道,并且封锁其他通道。如许就实现了功能的多样性。

前一段时辰和大师讲过了,MCU是若何节制这些功能的,MCU中有良多地点,它是经由过程节制这些地点所对的数据从而实现节制设备的,这些地点对应的就是功能,这些地点所对应的内容也被称为寄放器。可是若是直接去节制寄放器轨范会很繁琐,每实现一个功能就要设置装备安排良多寄放器,量大并且随意设置装备安排出错,所以这些芯片的的厂家为了便当大师编程,封装了良多库函数,库函数实现了良多功能初始化的分装,我们只需简单挪用他们就能设置装备安排好所要使用的寄放器了,可是寄放器仍是建议大师进修一下的,由于那样才能真正体味芯片的工作事理。给大师实现一个简单的轨范,点亮一个LED灯,这个真的是嵌入式中最简单的轨范了,就比如你伸手去开个灯那么简单。我用寄放器和库函数各实现一下个大师看看。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多