
STM32
醉扶栏逐梦远方
这个作者很懒,什么都没留下…
展开
-
STM32-点亮LED灯(GPIO配置)
点亮LED灯应该是每一人学习硬件的第一个实验了吧!从51到32在到ARM,废话少说,下面开始使用STM32点亮LED灯。 GPIO:又叫通用输入输出口,是微控制器必不可少的外设单元,用来和外界进行信号传递,数据交互的接口。 STM32的GPIO根据型号的不同分为A-H组,每一组都称为GPIOx组,每组都有独立的寄存器,因为相对于寄存器,函数版的使用还是比较容易入门的,尤其是有些编程基础的人来讲,原创 2017-05-22 17:05:11 · 10634 阅读 · 0 评论 -
STM32-SPI之OLED
OLED作为一种新型的显示设备,由于其优秀的性能,并且随着产量的提高价格也在不断的下降。收到了现在很多显示设备产品的青睐。高清晰,高对比的都使人们对它的使用越来越多了。对于OLED它的驱动方式有很多种,SPI、8080并口等方式,不同的方式有不同的优点。本篇文章采用的STM32自身的SPI总线的控制方式,还可以通过软件的方式来模拟SPI,难度都不大。 首先来看一下关于STM32的SPI的寄存器和函原创 2017-06-03 11:45:04 · 5964 阅读 · 1 评论 -
STM32-PWM输出
脉冲宽度调制,简称PWM。是一种利用数字信号来进行模拟信号的输出,拥有多种模式。主要的原理就是利用数字信号的高低电平的周期性变化来改变输出电压的平均值。从而达到模拟信号的输出模式。主要引用于电机调速,调光灯电路控制中。 在STM32中拥有多路PWM信号。每一个定时器的输出引脚都可以设置成相应的PWM信号的输出。PWM信号主要的参数有两个,周期的占空比。周期主要是由对应的定时器来确定。占空比原创 2017-07-29 10:43:23 · 1240 阅读 · 0 评论 -
STM32的学习之路-开篇
接下来的一段时间里面,即将开始STM32的学习之路,先写一篇关于STM32的相关介绍的文章,为以后的学习进行一个铺垫。 STM32是一款32位基于ARM体系中Corte-M3为内核的一款微控制器,单片机系统的操作位数越高就代表它的复杂程度就越高级,操作难度也就不断上升,效率方面也有成倍数的增长。STM32是ST公司很早就推出的一款主打低功耗,低成本,高性能的处理器芯片,在实际应用当中使用十原创 2017-05-18 10:15:44 · 979 阅读 · 0 评论 -
STM32-时钟树
学习一个硬件,首先要把它的时钟单元弄的清晰一点,这会有助于加快你的学习进度,一开始我也有点迷糊,感觉STM32的时钟系统挺复杂,挺难懂的,但是深入接触了之后,发现也是挺简单的,可能一开始没有仔细看的原因 时钟系统就相当于人类的心跳一样,它为整个硬件系统提供时钟周期,只有它的正常运行,系统或者说片上系统才能够正常的工作。 首先,应该找到时钟源,也就是心跳的发源地,STM32有4个时钟源,分别是内部原创 2017-05-21 17:16:41 · 625 阅读 · 0 评论 -
STM32-中断优先级
中断作为系统资源里面尤为重要的一种系统资源,可以对于硬件的运行发挥着不可或缺的地位。基本每一个硬件都会有相应的中断,只不过是中断类型和中断数量多少的问题。像51单片机的硬件就拥有比较简单中断类型,例如定时器中断、串口接收中断、外部中断等几个简单中断,用起来也是十分简单。 对于STM32来说因为它使用的基于M3和M4的内核,就M3内核而言,支持256个中断其中包含了16个内核中断和240个外部原创 2017-06-01 10:57:06 · 1889 阅读 · 0 评论 -
STM32-Systick定时器
STM32的定时有很多,主要包括通用定时器和高级定时器,它们的用法和功能也很多,有了高效的定时器,STM32才能实现很多功能。其中Systick定时器算是一种特殊的定时器,它应该不属于STM32,准确的说应该是属于Corte M3内核的一种定时器,详细可以参照Cortex-M3权威指南(中文版详尽版)来仔细研究一下,如果使用RTOS这个定时器应该会经常用到,是来做实时系统的心跳最适合不过了。所以又叫原创 2017-05-31 18:34:08 · 431 阅读 · 0 评论 -
STM32-GPIO输入
点亮LED灯的实验室利用的GPIO的输出配置来实现的,接下来写一个关于GPIO作为输入的程序,同时点亮和熄灭LED灯。由于程序简单,直接贴出代码,以供参考:“`include “stm32f10x.h”/** * @brief 初始化GPIO,默认速度为GPIO_Speed_50MHz; * * @param GPIO分组 * @param GPIO引脚 *原创 2017-05-30 17:40:11 · 773 阅读 · 0 评论 -
STM32-printf重定向到USART
在使用STM32的过程中,尤其是刚开始学习使用的时候,由于不知道自己的程序写的对不对,就经常需要一点验证的方法,点亮一个LED灯就是最简单的验证方法,但是有的时候还经常需要串口的输出来验证自己的程序是否正确,但是官方提供的函数库中用于串口发送的好像就一个USART_SendData(),通过外设USARTx发送单个数据,对于熟悉C语言的同学来说,这个函数还没有格式输出,当想要输出一个数字,或者字符串原创 2017-05-29 10:53:21 · 623 阅读 · 0 评论 -
STM32-新建工程
STM32新建工程相对比较简单,主要过程就是移植官方提供的固件库,然后应用固件库当中的一些函数进行项目的开发。 第一步:下载官方固件库,上官网或者其他论坛资源下载一个就可以,我下载的是3.5版本的固件库文件。打开这个文件夹,可以看到几个主要的文件夹,其中比较有用的有Librarise文件夹和Project文件夹,其他的基本无视。 第二步就是打开开发环境,KEIL是官方比较推荐原创 2017-05-18 11:15:19 · 2147 阅读 · 0 评论 -
STM32-串口程序
学习各种硬件,串口是必不可少的也是首要学习的外设,因为有了串口之后,就可以和硬件进行简单的交互,也能更加方便的验证所写的程序的正确性。 STM32拥有多个USART,支持多种模式的配置,具体的可以参照STM32的相关手册进行学习 再来看一下USART的功能框图: 在使用任何一个外设功能之前,都要看看它所对应的功能框图,这样有助于理解功能的使用。 接下来看一下关于USART的相关寄原创 2017-05-23 17:11:06 · 511 阅读 · 0 评论 -
STM32-串口IAP升级
对于写好的程序来说如何烧录到芯片中是十分重要的的过程,在平时测试开发的时候可以直接通过Jlink,swd,usart等方式直接将编译好的程序直接烧录到芯片的Flash中,但是对于已经开发好的产品来说,特别的已经进行了分布部署的设备来说,一个一个升级可以是不可能的事情,一般的升级方式都是通过网络或者其他远程方式来进行固件的升级,但是无论通过什么方式来进行升级,基本上都是将要升级的代码段下载到指定的Fl原创 2017-10-06 21:14:08 · 3778 阅读 · 0 评论