STM32初学自学体验,新手经验
之前发过一篇文章,分享了一些入门心得,从那以后一直没有深入学习,这次借着全国电子设计竞赛的机会,好好学习了一下。给大家讲解一下STM32的初学方法。
第一步,建立开发环境。小编选择的是通用的MDK,也就是Keil5。安装完软件以后,要安装类似于芯片型号的库,就是新建工程时选择的芯片型号。
第二步,准备一块开发板和丰富的资料例程。推荐选择最小系统板,个人感觉这样可以自己学会外围电路的搭建。避免依赖开发板的电路。(其实就是太穷,买不起开发板,哈哈)
第三步,了解STM32。这个阶段可以看视频教程,一般教程都会有基本的介绍
第四步,开始学习。推荐使用库函数开发的方法。这样很多底层的寄存器不需要自己配置,只要会用官方库函数就行了。配合库函数使用手册,可以清楚的查到每个函数的使用方法。
很多初学者面临的难题就是不知从何入手。总想跟51一样弄明白基础的东西,又感觉太复杂。因此推荐先使用例程的工程文件,逐步学习如何修改。比如点亮流水灯的工程,对于IO口的操作并不太复杂,初始化完成之后通过Setbit和Resetbit这两个函数就可以实现高低电平的输出。然后,可以试着改一下亮灭,增加一个按键控制,中断延时,等等。然后可以逐渐增加工程里的文件。这样,有了初步的学习之后,就可以掌握库函数开发的方法了,以后的学习也就变得轻松起来。
关于STM32的工程,很多人觉得复杂,其实没有这么复杂。它主要包括下面几部分:
main.c:自己的主程序部分
自己的子程序:stm32经常用到的一种编程方式。例如:led.c和led.h。led.c里面写#include“led.h”和 函数init_led()。led.h里面定义led.c里面的函数init_led()和引用的头文件。
启动文件:例如#include “stm32f10x.h”,这些可以理解成stm32必须的一些库
库函数:由于采用的库函数编程的方式,要添加一些官方的库文件
STM32初学自学体验,新手经验相关推荐
- 基于Proteus无实物零基础STM32入门自学教程(七)--定时器点亮LED
简介:本项目为基于STM32F103R6为核心定时器点亮LED工程.在第一个任务里我们点亮LED是使用延时点亮.从这一讲我们开始学习真正的定时器使用方法,而这种方法是最接近实际应用的.实际应用中几乎不 ...
- 基于Proteus无实物STM32入门自学教程(二)--LED流水灯
本教程面向新手,前期没有用到stm32的内部库,源程序尽量使用单文件.方便从51直接转过来的同学有个适应期.proteus仿真stm32总所周知没有51仿真的那么完美.笔者在51年代进行仿真时基本与实 ...
- python编程自学能学会吗-小白看看!本人自学Python编程经验分享。
这篇文章我将以我自学编程的经历.自己遇到的坑.如何解决问题等方面,给初学者朋友们分享自己的经验,希望对正在自学编程的你有帮助.如果哪里说的不对,也望得到您的批评指正! 1.为什么要学习编程? (1)因 ...
- STM32的CAN总线调试经验分享
相关文章 CAN总线简易入门教程 CAN总线显性电平和隐性电平详解 STM32的CAN总线调试经验分享 文章目录 相关文章 背景 CAN总线 CAN控制器 CAN收发器 调试过程 硬件排查 CAN分析 ...
- 新手快看,三分钟教你如何系统的自学python(经验分享)
前言 Python是一个非常适合自学,0基础的话从入门到精通也只需要花3-4个月. 关于Python,我们不妨看看世界著名程序员.软件开源运动旗手 Eric S. Raymond 的建议: 如果你不懂 ...
- 高三/高考前可以回家自学吗?——211学霸高三在家自学一年经验分享
Q1:为什么要回家自学?有什么好处? 因为我是一个很容易被外界干扰的人,思绪喜欢自我放飞,我想有些同学也会有这样的感觉.学校人太多了,周围人说的话传到我耳朵里就会像复读机一样刻意过一遍,导致很难集中精 ...
- STM32初学篇-推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别
有关推挽输出.开漏输出.复用开漏输出.复用推挽输出以及上拉输入.下拉输入.浮空输入.模拟输入的区别 最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多: (1)GPI ...
- STM32 初学不知道外设对应的APB1还是APB2
STM32参考手册搜索"系统架构"或者"系统结构",即可查看外设挂在哪个时钟下,也就知道开启哪个时钟了. 转载于:https://www.cnblogs.com ...
- STM32初学——OLED调试4-1 5-1/5-2
串口调试advantage:借助强大的电脑来调试 点灯调试法 注释调试法 对照法 OLED_ShowChar(1, 1, 'A'); 显示一个字符 指定起始行,指定起始列,显示字符 OLED_Show ...
最新文章
- Codeforces Round #372 (Div. 2), problem: (B) Complete the Word
- 最低售价17999元,华为发布新一代折叠屏手机Mate X2,将首批升级HarmonyOS
- 找不到vtkIOImage文件解决方法
- Server.MapPath(path)的使用
- Linux Shell常用技巧(十)
- viterbi算法_序列比对(十四)——viterbi算法和后验解码的比较
- 数据驱动的软件开发者智能协作技术
- tolua打包Android后路径出错,unity+tolua 64位android崩溃排查过程记录
- svn 使用TortoiseSVN server搭建本地SVN服务器
- 阿里巴巴的26款超神Java开源项目!
- HIVE 面试题总结
- 计算机ps基础知识教案范文,ps基础教案
- 寒假2019培训:跳楼机(洛谷P3403)
- 我们不改需求了,给你们立字据!
- 1233850-99-1|2-(4-丙氧基苯基)咪唑[4,5f][1,10]邻菲啰啉|分子式:C22H18N4O-齐岳配体
- 2021年全国职业院校技能大赛 “大数据技术与应用”—模拟赛题(三)
- 2020幂次生长,GMIC开启下一个10年科技新浪潮
- 杰理下载器强制下载工具的使用介绍_AC695N696NAD14AD15全系列支持,看完此文就足够了
- LEADTOOLS V22.0 Patch
- 一阶低通滤波器和二阶低通滤波器
热门文章
- fMRI数据处理_预处理_1_流程及脚本
- ps转换html适应网页尺寸,【ps制作网页页面】ps图像如何生成html?如何将PS制作的网页效果图变成可用的网页?PC端UI设计尺寸规范?...
- MySQL编码格式统一为UTF8
- android 机车软件,机车党app
- KILL THE PHARAOH ACUPUNCTURE X 法老联乘系列发布
- Firebird中文社区已开通
- Google Play ASO 系列 - 用户体验一直为王
- Eclipse输入法无法输入中文
- 【通信电子电路】第11章 交流电路功率分析
- 墨西哥城新机场 | 一座来自未来的机场