stm32标准库学习
文章平均质量分 96
该专栏的文章是基于stm32f103系列的单片机平台上进行开发的,编译器和开发都是基于ubuntu上的arm-gcc和openocd工具进行开发的,虽然比较麻烦,但是内容基本上都是一样的。
恰柠
C/C++交流群:247294351
stm 51单片机交流群:915213757
展开
-
12 spi通讯协议
前面介绍了IIC协议的通讯,这一节介绍一下比较简单的SPI通讯协议,spi使用的地方也是很多的,而且也很简单,所以这一章就来介绍一下。SPI是由摩托罗拉公司开发的一种通用的数据总线。有四根信号线,分别是SCK时序控制线、SS片选线、MOSI主机发送从机接收信号线和MISO主机接收从机发送信号线。是一个同步、全双工的通讯协议,支持一主一从和一主多从。原创 2024-08-22 13:54:53 · 859 阅读 · 0 评论 -
11 IIC通讯协议
IIC协议在前面03 OLED显示屏中初略的介绍了一下IIC协议,并且使用软件模拟IIC协议来和OLED显示屏进行通讯,但是之前的那一章主要是介绍如何写入数据到从设备中,没有介绍如何从从设备那接收发送过来的数据,并且还有硬件实现IIC也没有说,这一节就讲读取和硬件IIC来统一说明。IIC、SPI、USART等都属于通讯协议,是由飞利浦公司开发的一款同步半双工、一主一从、一主多从或多主多从的通讯协议,它有两条线组成,一根是SCL时钟线,另一根是SDA数据线。原创 2024-08-19 16:39:58 · 666 阅读 · 0 评论 -
09 DMA配合ADC多通道
前面介绍了ADC数模转换,得到了内部的温度值和外部电压值,我感觉这样太消耗CPU的资源了,所以我准备用DMA来帮我从AD的数据寄存器中拿出数据出来,就不用再去读取AD的数据寄存器了。DMA叫做直接存储器存取,就不需要我们CPU通过软件将外部寄存器或者内部的存储器的数据读取到一个地方,而是由DMA控制器来进行操作,这种方法只需要让CPU为DMA配置好一些基本的配置后,当DMA接收到对应的信号就会自动的执行,省去了CPU进行这种毫无意义的操作。原创 2024-08-09 10:10:07 · 614 阅读 · 0 评论 -
08 ADC模数转换
这一节终于到模数转换了,我在做那个项目的时候忘记如何配置模数转换器了,所以这一章是在我学完后并且在项目中实现后写的文章,这里我会结合项目来介绍如何用adc采集外部模拟量后转换为数字量和用stm32内部的温度传感器通过adc采集后显示出来。ADC又叫做模数转换,即模拟量转换为数字量,什么是模拟量什么是数字量呢?模拟量就是一种没有规律的量,比如说声音,声音就是一个模拟量。数字量是用数字表达的一个量,就像上上节输出比较那说的PWM波就是一个数字量。而ADC这个设备就是将这些模拟量转换为用数字表达的数字量。原创 2024-08-07 17:18:45 · 378 阅读 · 0 评论 -
07 输入捕获和编码器接口
当输入的引脚有指定电平跳变时,会将计数器CNT中的值保存在CCR中,这个就称为输入捕获。编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减。下图是一个正交编码器的图:可以看到,编码器的这个波形,A项和B项的波形是相差90度的,所以这两个波形在一起就可以分正和反了。通用定时器的相关操作就介绍完成了,后面有机会的话给大家介绍一下高级定时器,高级定时器可以操作三项无刷电机,等后面有时间我做一个无人机会使用到高级定时器。原创 2024-08-02 15:50:07 · 860 阅读 · 0 评论 -
06 定时器和PWM(1)
定时器其实和计数器一样,我们通过设置一个值,当计数器运行一个计数寄存器向上加1或者向下减1达到这个值后,会发送一个事件,以此运行即可。这个就是定时器。TIM定时器中断和PWM的基础功能还是比较简单的,大家可以多使用一下就可以慢慢的熟悉了。原创 2024-07-31 17:17:12 · 405 阅读 · 0 评论 -
05 EXTI外部中断
又鸽了几天的文章,最近在做一个手表项目,这个项目用到了很多知识,特别是中断的知识特别的多,所以这一篇文章来讲讲外部中断,等下一章说一下内部中断。例如你现在在搞一个项目,然后突然看到你自己写的便条,上面写着今天该写文章了,然后你就会停下手中的项目,转去写文章,当文章写完后又继续的做项目,这个过程就是一个中断。也就是说中断就是一个打断当前执行的任务,转去执行另外一个任务,当这个任务执行完成后就会返回执行被打断的任务。上面就是中断执行的一个逻辑。原创 2024-07-28 22:44:29 · 273 阅读 · 0 评论 -
03 OLED显示屏实现
这一章主要是上一节没有讲完的项目的一个编写,上一章我们说道单片机的输入和输出,包括四种单片机与外设之间的数据交换使用到的方式,这一章就利用前面说到的这几种方式来编写一个OLED显示屏的驱动。学会了这个显示屏如何显示后后面我们可以对传感器进行操作了,到时候传感器接收到的数据就可以直接显示在OLED上,这样就能很好的观察其中的变化了。下一章准备介绍一下显示屏的一些操作,比如显示进度条,显示动图或者其他内容。原创 2024-04-25 23:15:10 · 903 阅读 · 0 评论 -
02 IO口的操作
之前已经介绍了环境的搭建和调试的方法,这一篇文章我们就开始介绍一下如何对外设进行操作,这一节我会结合多种外设的操作来将所有方式的操作介绍给大家,并手把手介绍如何使用一个小显示屏OLED,这对我们后面的操作有很大的帮助。这里需要先介绍一下stm32的GPIO口和对应的引脚。原创 2024-04-23 22:42:53 · 863 阅读 · 0 评论 -
01使用调试工具
之前写了一篇关于在linux下搭建stm32标准库的文章后,有一些小伙伴们还是出现了一些奇奇怪怪的错误,这一篇文章就是给大家介绍一下如何调试来找到错误。当然这个文章还是写得不是很完整,因为我只遇到了这种问题,如果你们有什么问题可以问问我,但我不一定能解决,大家可以加一下我们的讨论群:247294351,当然也不一定能解决。原创 2024-03-27 20:34:24 · 1196 阅读 · 0 评论 -
00在linux环境下搭建stm32开发环境
博主亲测,童叟无欺,绝对可以,不行来打我原创 2024-03-09 21:09:41 · 2794 阅读 · 13 评论