1.1为什么要把时间花在“犹豫”上?
每当我们在入门之前(ARM是这样,DSP也一样),总会会有很多疑问,会有很多顾虑。我们渴望知道学习STM32前景如何?需要啥基础?难不难?适不适合我?但是什么时候能心潮澎湃地、相当着急地开始学STM32?日子在一天一天过去!你开始行动了吗?没有行动的思索,永远都不可能入门!把这些时间用来看书吧,效果能好一万倍。
大家一般都是从51单片机过来的,回想一下,我们之前学单片机时如何入门呢?实际上都是先看书(理论),再玩板子(实践)。严格地说,应该是模仿实验。熟悉之后才会自己写程序代码实现某个功能。因此,如果你正在咨询STM32;如果你正对STM32心潮澎湃;如果你想入门STM32;那么,从现在开始,不要犹豫了,不要想再详细地了解STM32的前景了。做一个可能影响你一生的决定吧!不用咨询,不用兴奋,开始看书籍(文档)吧!!每个人都是这么走过来的。
1.2看资料需要计划、耐心和速度
这里所谓的“资料”包括STM32书籍、文档。因为STM32有个特点,datasheet很多都是中文的,有些同学就没有去买书籍,直接看STM32的用户手册,也是可以的。但是不管看书籍还是文档,我们是需要计划的。不是今天看3页,明天看5页。一本书看了两个月,还在磨蹭。请记住,你学的不是寂寞,是STM32!看书或文档不是用来消遣时间的。背水一战吧,给自己规定一个底线:两周内把一定粗略地过一遍!不要求都看懂,事实上,不可能都看懂。但我们必须理解基本知识,对难度高的知识有一个印象,至少以后碰到问题的时候,我们会似曾相识,感觉在哪里见到过,于是翻资料上网找答案——带着问题的时候,效率才是超高的。
两周过去了,STM32的知识你过一遍了吗?没看完?那么,你应该考虑这些天中,你是否尽力了?是否真的想学STM32?或者还是看到STM32人气很高,也想跟下时髦?是不是碰到问题没法解决就想放弃了?现在是你做第二个决定的时候了,请决定你是否继续攻读STM32。如果是一时冲动想跟时髦,请马上放弃——你已经浪费两周时间了,你还想再浪费14天吗?如果想吃得苦中苦,方为人上人,OK,请继续往下看:)
1.3学STM32必备开发板
稍微了解一些理论知识后,现在摆在你面前,有两条路:
第一,自己画PCB制板、焊接、调试。
第二,购买一套性价比高的开发板。
笔者之前做过几次PCB设计,而且当时在实验室可以报销所有费用,就自己做了一个PCB板。建议有报销条件的同学自己设计一块板子学习。毕竟2层PCB
的设计不是很难。
无法报销的同学,可以选购一款开发板学习。因为自己出钱制板,至少需要150元,加上芯片元件费用、液晶屏费用,可能制作最小系统也要约250元。所以购买开发板还是比较合算的。毕竟现在市场上的STM32开发板已经白菜价了。这里不方便进行各个品牌STM32开发板的比较,个人推荐目前市场上比较牛的STM32神舟系列开发板,毕竟是官方团队打造的,性价比以及文档资料都非常完美,就是价格可能贵一点。
总之一句话,选购的开发板一定要性价比最高的,资料最全,而不是最实惠而资料不全的,有时候贵点也没关系,磨刀不误砍来工,有个好的板子等于有把好的锄头。实际上,大多数同学选购的开发板是用来学习的,不是用来项目开发的。因此,能让你最容易上手STM32,资料齐全就非常重要了,这样可以节约很多时间,俗话说时间就是金钱。
1.4熟悉开发板并试图写程序
这时的你,不能再停留在理论上了。你现在的心情,应当是:看到开发板,马上就有一种说不出的兴奋!但是,心急吃不了热豆腐!请耐心把厂家配套的开发板使用手册浏览一遍,熟悉你买的开发板。按照使用手册,把开发板上的相关测试、操作步骤,都动手做一遍,你会发现,原来开发STM32是如此简单!那么就让我们开始STM32嵌入式高手开发之路吧!
关键字:STM32 入门经验
引用地址:
我的STM32艰苦入门经验体会与总结
推荐阅读最新更新时间:2024-03-16 15:13
STM32的中断优先级设定
在STM32的手册里没有提到关于设置中断优先级的情况,只列给出了中断向量表。根据该向量表可以创建一个中断编号的枚举数据,方便设置优先级及使能等的使用。 先说一下如何设置优先级。 优先级的设置在Cortex-CM3中:异常 - 优先级定义 中有描述;针对优先级的寄存器描述需要查看Cortex-M3编程手册。 可在此处下载手册:http://download.csdn.net/detail/gao_xyz/9780686 1、优先级组的设置 在权威指南 优先级定义中有描述,其优先级由:抢占优先级 和 子优先级组成。 此处需注意:抢占优先级,顾名思义,可以抢占CPU的,当有更高的抢占优先级时,可打断低抢占优先级的
[单片机]
stm32GPIO中的8种模式
一、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。 推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。 二、开漏输出:输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行。适合于做电流型的驱动,其吸收电流的能力相对强(一般20mA以内)。开漏形式的电路有以下几个特点:
[单片机]
STM32 IO 问题
今天调试一块板子出现如下问题: 某口 PB5,用某个芯片的复位工作。 配置如下: #define GPIO_PIN_REST GPIO_Pin_5 GPIO_InitStructure.GPIO_Pin = GPIO_PIN_REST; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIOB- BSRR = GPIO_Pin_5 ; jlink调试,观看GPIOB,keil显示是Pin 为1 但是芯片实际测量管脚的电压却是0V。搞定不懂 后面改为:GPIO_Ini
[单片机]
STM32学习日志——ADC实验
一、ADC简介: STM32有1~3个ADC,我使用的STM32F103ZET6有3个ADC,是12位逼近的数字模拟转换器,它有18个通道,包括16个外部通道和2个内部信号源。每个ADC有4种模式:单次、连续、扫描、间断。存储方式分为左对齐或右对齐,一般选择右对齐。ADC将转换分为两个通道组:规则通道与注入通道,规则通道相当于正常执行的程序,注入通道相当于中断。规则通道最多包含16个,注入通道最多位4个。 本次介绍仅介绍规则通道的单次转换, 二、软件配置: 1)开启PA口的时钟和ADC1的时钟,设置PA1为模拟输入; 2)复位ADC1,同时设置分频因子;要保证ADC的时钟不超过14MHZ,否则可能不准,而APB2的时钟为7
[单片机]
STM32-FSMC-LCD详解
LCD有如下控制线: CS:Chip Select 片选,低电平有效 RS:Register Select 寄存器选择 WR:Write 写信号,低电平有效 RD:Read 读信号,低电平有效 RESET:重启信号,低电平有效 DB0-DB15:数据线 假如这些线,全部用普通IO口控制。根据LCD控制芯片手册(大部分控制芯片时序差不多): 如果情况如下: DB0-DB15的IO全部为1(表示数据0xff),也可以为其他任意值,这里以0xff为例。 CS为0(表示选上芯片,CS拉低时,芯片对传入的数据才会有效) RS为1(表示DB0-15上传递的是要被写到寄存器的值),如果为0,表示传递的是数据。 WR为0,RD为1(表示是写动作)
[单片机]
STM32步进电机PID速度环控速源码
【1】例程简介 使用定时器功能输出PWM信号到步进电机驱动器,使其驱动步进电机转动。 编码器用于电机测速。在电机转动一圈时编码器可以输出固定的脉冲数,通过读取编码器 脉冲可以获取当前电机转动状态。 一般处理编码器脉冲有两种方法: 1.T法:计算一定量的脉冲数所用的时间 2.M法:计算一段固定时间内所捕获的脉冲数。 根据当前速度和目标速度之间的误差,使用PID计算定时器输出的脉冲频率,使得滑台能够以目标速度 运动 【2】跳线帽情况 编码器 A相 -- PC6 B相 -- PC7 步进电机驱动器 DIR- -- PB13 ENA- -- PB14 P
[单片机]
STM32上的外部中断
今天记录一下关于外部中断的知识点以及在32上外部中断的相关寄存器以及配置的流程。 一、原理介绍 首先,什么是中断 中断就是将正在做的事情停下来,先去完成另外一件事情,完成后继续回来做这件事。 比如:在吃饭的时候有电话打来,去接电话,打完电话后继续吃法。 在计算机科学中,中断(英语:Interrupt)是指处理器接收到来自硬件或软件的信号,提示发生了某个事件,应该被注意,这种情况就称为中断。 通常,在接收到来自外围硬件(相对于中央处理器和内存)的异步信号,或来自软件的同步信号之后,处理器将会进行相应的硬件/软件处理。发出这样的信号称为进行中断请求(interru
[单片机]
STM32中关于GPIO口的介绍
一、什么是GPIO? GPIO的英文全称是General-Purpose IO ports,也就是通用输入输出口。 在嵌入式系统中,经常需要控制许多结构简单的外部设备或者电路,这些设备有的需要通过CPU控制,有的需要CPU提供输入信号。并且,许多设备或电路只要求有开/关两种状体就够了,比如LED的亮与灭。对这些设备的控制,使用传统的串口或者并口就显得比较复杂,所以,在嵌入式微处理器上通常提供了一种“通用可编程I/O端口”,也就是GPIO。 一个GPIO端口至少需要两个寄存器,一个做控制用的“通用IO端口控制寄存器”,还有一个是存放数据的“通用I/O端口数据寄存器”。数据寄存器的每一位是和GPIO的硬件引脚对应的,而数据的传递方向是
[单片机]