简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
ADC简介ADC(Analog-Digital Converter)模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁。另外,使用DAC就可以将数字变量转化为模拟电压。上一节我们还学到了一个数字-模拟的桥梁:PWM。我们使用PWM来控制led的亮度,电机的速度,这就是DADC的功能。同时,PWM只有完全导通和完全断开两种状态。在这两种状态上
ADC和DMA配合起来的配置步骤第一步,开启RCC时钟,开启ADC1、GPIOA和DMA1的时钟,另外这里ADC CLK的分频器也需要配置一下;第二步,配置GPIO,把需要用的GPIO配置成模拟输入的模式。第三步,配置多路开关,把通道接入到规则组列表里。这个过程就是我们之前说的点菜,把各个通道的菜列在菜单里。第四步,配置ADC转换器,在库函数里是用结构体来配置的,要使能连续转换模式,每转换一次规
本篇我们来建立一个STM32的工程。 这个STM32的工程结构还是比较复杂的,需要用到很多文件,之后我们的代码也都是需要建立在工程结构上的。所以在开始学习后续内容之前,我们先来学习一下如何新建STM32的工程。STM32的三种开发方式目前STM32的开发方式主要有基于寄存器的方式、基于标准库,也就是库函数的方式和基于Hal库的方式。基于寄存器的方式这种方式和我们51单片机的开发方式一样,是用程序直
STM32的中断68个可屏蔽中断通道(也可以说是中断源),包含EXTI外部中断、TIM定时器、ADC模数转换器、USART串口、SPI通信、I2C通信、RTC实时时钟等多个外设。通过这一句,我们知道STM32的中断是非常多的,几乎所有的模块都能申请中断。注:这是F1系列最多的中断数量,对于一个具体的型号,可能没有这么多中断,所以这个数量看看就行。使用NVIC统一管理中断,每个中断通道都拥有16个可
同步和异步的区别异步时序的好处就是省一根时钟线,节省资源,缺点就是对时间要求严格,对硬件电路的依赖比较严重。同步时序的好处就是反过来,对时间要求不严格,对硬件电路不怎么依赖。在一些低端单片积没有硬件资源的情况下,也很容易使用软件来模拟时序。缺点就是多一根时钟线。本节我们最基本的任务是通过通信线实现单片机读写外挂模块寄存器的功能。其中至少要实现在指定的位置写寄存器和在指定的位置读寄存器这两个功能。实
上一节我们讲了点阵屏的工作原理,这节开始代码演示!前面我们已经说了74HC595模块也提供了8个LED,当我们不使用点阵屏的时候也可以单独使用74HC595,这8个LED可以用来测试74HC595。那接下来我们可以先不使用点阵屏,先用这8个LED来测试一下74HC595。
DS1302时钟上一节我们讲了DS1302的工作原理,这一节我们开始代码演示。新创建一个工程写上框架
通信的目的将一个设备的数据传送到另一个设备,扩展硬件系统比如STM32芯片它里面集成了很多功能模块,比如定时器计数,PWM输出、AD采集等等。这些都是芯片内部的电路,这些电路的配置寄存器,数据寄存器都在芯片里面,操作这些寄存器非常简单,直接读写就行了。但是也有些功能是STM32内部没有的,比如我们想要蓝牙无线遥控的功能,想要陀螺仪加速度计测量姿态的功能。STM32没有这些功能,所以就只能外挂芯片来
通信的方式可以分为很多种:按照数据传送的方式,可分为串行通信和并行通信。按照通信的数据同步方式,又可以分为异步通信和同步通信。 按照数据的传输方向,又可以分为单工通信,半双工通信,还有全双工通信。下面就逐个来介绍。
这个程序还隐藏有一个问题,就是这个Serial_RxPacket数组,它是一个同时被写入,又同时被读出的数组。在中断函数里,我们会依次写入它,在主函数里,我们又会依次读出它。这会造成数据包之间可能会混在一起。比如读出的过程太慢了,前面两个数据刚读出来,等了一会儿才继续往后读取。这时后面的数据就有可能会刷新为下一个数据包的数据,也就是读出的数据可能一部分属于上一个数据包,另一部分属于下一个数据包。解