stm32例程_如何学习STM32?

5d9501995aa1189f5f8889f218f768e6.png

阅读全文大约10min

//封面为我现在使用的STM32型号:旗舰版 Stm32f103ZE

//本文内容是对正点原子的资料整理

参考资料:

  1. CM3权威指南/CM4权威指南(ARM提供)
  2. 芯片参考手册
  3. STM32F10x中文参考手册
  4. 芯片数据手册
  5. STM32F103xCDE_DS_CH_V5.pdf
  6. 固件库包
  7. ST官方资料下载地址:http://www.stmcu.org

学习框图:

eb5be518967d0b369f118a79be35192f.png
stm32学习思维导图
  1. 熟练掌握C语言
  2. 掌握一种开发环境: keil,labveiw
  3. 掌握一种调试工具:JTAG必备 #多使用JTAG调试代码,深入理解代码执行流程。在基础不够扎实的时候,不要走马换花的看,要做到深入理解代码涵义。
  4. 库函数和寄存器对比学习 #项目中多使用库函数,但必须了解寄存器配置原理,加深理解。
  5. 学习基本外设:

基本外设:(1/3的学习时间)

-GPIO输入输出,外部中断,定时器,串口。

-理解了这四个外设,基本就入门了一款MCU。

基本外设接口:(1/3的学习时间)

-SPI,IIC,WDG, FSMC,ADC/DAC,SDIO等

-这些外设接口功能原理对每个芯片几乎都是一样,属于基本操作

高级功能:(1/3的学习时间)

-UCOS,FATFS,EMWIN等。以及一些应用。

- 理解了这四个外设,基本就入门了一款MCU。

-UCOS,FATFS,EMWIN等。以及一些应用。

使用时的注意事项

--供电:

  1. DC005接口,供电范围是6~24V,请不要违规供电。
  2. VOUT2(2X3排针)可以做5V输出,也可以做输入。
  3. 当开发板外接负载较重(电流大)时,请提供足够电源。
  4. 开发板不支持JLINK等仿真供电,请不要尝试。
  5. 正常供电后,蓝色电源指示灯,必须亮,才可使用开发板。

--例程测试:

  1. 请下载正确的例程测试(不要张冠李戴!)。
  2. 每个例程都有readme.txt,请先阅读这个。
  3. 例程都有教程(开发指南/不完全手册等),根据教程测试。
  4. 例程测试时,请确保开发板B0,B1都接在GND。

--IO口使用:

  1. IO口一定不要接超过5V的电压,要善于使用三极管放大器。
  2. 不要用IO口直接驱动感性负载(电机/电磁阀/继电器等)。
  3. 外接其他外设时,请先做好IO选型,选择合适的IO口。
  4. 注意防静电(尤其是冬天)。

--常见问题类别:

  1. 开发板使用问题。
  2. 仿真器使用问题。
  3. 开发板标准例程问题。
  4. 开发板配套模块问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260342.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TempDB为什么要根据CPU数目来决定文件个数

在SQL Server的世界中,SQL Server在Windows之上有一套自己的任务调度和资源分配系统,这使得SQL Server作为Windows的一个进程,却可以处理大量的并发,这些任务调度和资源分配非常像一个操作系统,因此SQL Server在Window…

java微博模拟登陆_java 模拟登录新浪微博(通过cookie)

这几天一直在研究新浪微博的爬虫,发现爬取微博的数据首先要登录。本来打算是通过账号和密码模拟浏览器登录。但是现在微博的登录机制比较复杂。通过账号密码还没有登录成功QAQ。所以就先记录下,通过cookie直接访问自己的微博主页。微博登录的认证过程微博…

硬盘结构,主引导记录MBR,硬盘分区表DPT,主分区、扩展分区和逻辑分区,电脑启动过程...

filex的文件系统看的云里雾里,还是先总结下FAT的一些基本知识吧。硬盘结构硬盘有很多盘片组成,每个盘片的每个面都有一个读写磁头。如果有N个盘片。就有2N个面,对应2N个磁头(Heads),从0、1、2开始编号。每个盘片的半径均为固定值R…

linux 客户机中不支持 unity_婚姻中的不理解,来源于夫妻双方情感支持的不同

很多女性在婚姻中往往觉得无法得到丈夫的理解,当遇到一些生活或者工作上的问题的时候,她们想要在情感上得到丈夫的支持和理解。但是很多丈夫对此可能并不了解和理解,更倾向于用理性帮助妻子解决问题。而女性所需要的帮助可能并不是解决问题的…

Linux中使用crontab命令启用自定义定时任务

一 简介Linux下的任务调度分为两类,系统任务调度和用户任务调度系统任务调度:系统需要定期执行的任务,比如重启、日志清理等,其配置文件是:/etc/crontab用户任务调度:某个用户需要定期执行的任务。用户可以…

PHP学习总结(14)——PHP入门篇之常用运算符

一、什么是运算符什么是运算符?运算符是告诉PHP做相关运算的标识符号。例如,你需要计算123乘以456等于多少,这时候就需要一个符号,告诉服务器,你需要做乘法运算。PHP中的运算符有哪些?PHP运算符一般分为算术…

百度时间显示_文章的发布时间对百度优化网站重要吗

文章的发布时间对百度优化网站重要吗?这个问题,相信很多初做网站优化的萌新朋友都会问到,以小匠个人的经历来分享这个问题的经验,小匠认为,文章的发布时间对优化网站是非常重要的,下面小匠将从实际经历来给…

循环链表解决约瑟夫环问题

约瑟夫环问题可以简单的使用数组的方式实现,但是现在我使用循环链表的方法来实现,因为上午看到一道面试题规定使用循环链表解决约瑟夫环问题。 什么是约瑟夫环? “约瑟夫环是一个数学的应用问题:已知n个人(以编号1&…

java 什么时候进行垃圾回收_java什么时候进行垃圾回收,垃圾回收的执行流程

java的垃圾回收分为三个区域新生代 老年代 永久代一个对象实例化时 先去看伊甸园有没有足够的空间如果有 不进行垃圾回收 ,对象直接在伊甸园存储.如果伊甸园内存已满,会进行一次minor gc然后再进行判断伊甸园中的内存是否足够如果不足 则去看存活区的内存是否足够.如果内存足够…

基于HTML5 Canvas 实现矢量工控风机叶轮旋转

之前在拓扑上的应用都是些静态的图元,今天我们将在拓扑上设计一个会动的图元——叶轮旋转。 先看看最后我们实现的效果:http://www.hightopo.com/demo/fan/index.html 我们先来看下这个叶轮模型长什么样 从模型上看,这个叶轮模型有三个叶片&a…

java 并发模型总类_java并发编程系列-内存模型基础

java线程之间的通信对程序开发人员是完全透明的,内存的可见性问题很容易困扰很多开发人员。本篇博文将揭开java内存模型的神秘面纱,来看看内存模型到底是怎样的。并发编程模型的分类并发编程中需要处理的两个关键问题:线程之间如何通信线程之…

ATS读小文件(内存命中)

一个资源根据其大小可能会存在多个存储对象中。如果足够小(连同doc结构的大小小于一个fragment的size),连同这个资源的meta信息一起存储在一个doc中。如果比较大,第一个存储对象保存资源的meta信息,后面跟着若干个frag…

fatal error C1902: 程序数据库管理器不匹配;请检查安装解决

终于找到原因了,原来是我安装的字体渲染,并且采用注册表的加载方式!改掉就好了!上天哪,这是怎么影响到的 卸载MacType程序后,进行尝试! VS2008 和 VS2010 又能用了! 我想求教育。。。…

[译]多线程网络服务模型

2019独角兽企业重金招聘Python工程师标准>>> 多线程网络服务模型 /*** 谨献给Yoyo** 原文出处&#xff1a;https://www.toptal.com/software/guide-to-multi-processing-network-server-models* author dogstar.huang <chanzonghuanggmail.com> 2016-04-02*/作…

java mvc引擎_SpringMvc+JavaConfig+Idea 搭建项目

1.介绍之前搭建SpringMvc项目要配置一系列的配置文件&#xff0c;比如web.xml,applicationContext.xml,dispatcher.xml。Spring 3.X之后推出了基于JavaConfig方式以及注解的形式的配置。在一定程度上简化了Spring项目的配置。近几年特别火的SpringBoot&#xff0c;大大的简化了…

极域电子书包课堂管理系统_【君莲微讯】君莲学校(小学部)开展电子书包第13共同体数学研讨活动...

借 助 媒 体 技 术丰 富 图 形 认 识君莲学校(小学部)开展电子书包共同体 数学研讨活动 2020年12月2日下午&#xff0c;君莲学校(小学部)开展了以“借助媒体技术 丰富图形认识”为主题的闵行区电子书包第13共同体的数学研讨活动。共同体学校教师代表、学校电子书包项目组主管朱…

python批量改动指定文件夹文件名称

这小样例仅仅要是说明用python怎么批量改动指定文件夹的文件名称&#xff1a; 记得要把脚本跟改动的文件放在同一个文件夹下 #encoding:utf-8 import os import sys files os.listdir(D:\\1) #路径能够自己for name in files:a os.path.splitext(name)if a[1] .txt: #txt能够…

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具&#xff0c;可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率&#xff0c;内存使用&#xff0c;虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令&#xff0c;一个是Linux/Unix都支持&#xff0c;二是…

java 入门 博客园_javaweb入门

复习&#xff1a;css的常用样式&#xff1a;borderbackgroundpaddingmarginfloatposition 定位top left确定div在页面中的位置&#xff0c;这两个值可以为负数。cssdiv 布局方式cssdivtable 先由div划分大块儿&#xff0c;再由table进行整齐布局。下拉列表&#xff1a;层叠的布…

以ThreadStart方式实现多线程

3.1 使用ThreadStart委托 这里先以一个例子体现一下多线程带来的好处&#xff0c;首先在Message类中建立一个方法ShowMessage()&#xff0c;里面显示了当前运行线程的Id&#xff0c;并使用Thread.Sleep&#xff08;int ) 方法模拟部分工作。在main()中通过ThreadStart委托绑定M…