I2C(Inter IC Bus)是由Philips公司开发的一种通用数据总线
可以用来连接存储器(EEPROM、FLASH)、A/D、D/A转换器、LCD驱动器、传感器等等。
USART(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步收发器
USART,全称Universal Synchronous/Asynchronous Receiver/Transmitter,意为通用同步/异步串行接收/发送器
DMA(Direct Memory Access)直接存储器存取,主要是用来协助CPU,完成数据转运的工作,可以直接访闻STM32内部的存储器的,包括运行内存SRAM、程序存储器Flash和寄存器等等,DMA都有权限访问它们。
AD单通道&AD多通道应用程序示例 ADC 常用库函数 ADC的RCC时钟配置函数 该配置函数定义存放在stm32f10x_rcc.h文件中,用来配置ADCCLK分频器。它可以对APB2的72MHz时钟选择2、4、6、8分频,输出到ADCCLK。 void RCC_ADCCLKConfig(uint32_t RCC_PCLK2) // 恢复…
ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁DAC,数字模拟转换器,使用DAC就可以将数字变量转化为模拟电压。PWM也是数字到模拟的桥梁。PWM只有,开关两个状态,在这两种状态上都没有功率损耗,所以在直流电机调速这种大功率的应用场景,使用PWM来等效模拟量,是比DAC更好的选择,并且PWM电路更加简单,更加常用,所以可以看出PWM还是挤占了DAC的很多应用空间,目前DAC的应用主要是在波形生成这些领域,比如信号发生器、音频解码芯片等。
数码、位数、基数、位权
以10进制数“1234”为例,
数码:就是数中每一位的数字。如1、2、3、4
位数:数码在这个数中的位置,从右到左从0开始递增。例如4的位数为0、3的位数为1
基数:就是每一位的数码可以有多少个数字来表示。其实就是所谓的进制,十进制,基数为十,数码可以取的值有10个,分别是0~9。
位权:对于多位数,处在某一位上的“1”所表示的数值的大小,称为该位的位权。例如十进制位数0,位权为 10^0 = 1,位数1,位权10^1 = 10,…, 位数为n,位权为10^n 。公式为 基数的位数次幂
例如:写一个二进制数
0b100110101
他的倒数第三个1(已经标红) 的位权就是(1*(2的2次方))=4
再例如:
369
第三位3的位权是100,第二位6的位权是10,第一位9的位权是1。数字在不同位置上代表不同的数值。
点击数:16
第一步,RCC开启时钟,开启GPIO和定时器的时钟 第二步,配置GPIO,这里需要把PA6和PA7配置成输入模式 第三步,配置时基单元,这里预分频器我们一般选择不分频,自动重装,一般给最大65535,只需要个CNT执行计数就行了 第四步,配置输入捕获单元,这里输入捕获单元只有滤波器和极性这两个参数有用 第五步,配置编码器接口模式,这个直接调用一个库…
输入捕获和PWMI测量频率和占空比
输入捕获,即Input Capture,英文缩写为IC。输入捕获模式下,当通道输入引脚出现指定电平跳变瞬间,当前CNT的值将被锁存到CCR中(检测电平跳变,然后执行动作(作用和外部中断差不多,只不过外部中断执行的动作是向CPU申请中断,输入捕获执行的是控制后续电路)),可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数。在这里,脉冲间隔和频率差不多、电平持续时间和占空比也是互相对应的关系。
第一步,开启RCC时钟,把TIM外设和GPIO的外设时钟打开
第二步,配置时基单元,包括时钟源选择
第三步,配置输出比较单元,包括CCR的值、输出比较模式、极性选择、输出使能这些参数,库函数里也是统一用结构体来配置的
第四步,配置GPIO,把PWM对应的GPIO口,初始化复用推挽输出的配置
第五步,运行控制,启动计数器
输出比较功能主要是用来输出PWM波形的,PWM波形是驱动电机的必要条件
第一步,RCC开启时钟,定时器的基准时钟和整个外设的工作时钟就都会同时打开了 第二步,选择时基单元的时钟源,对于定时中断,选择内部时钟源 第三步,配置时基单元,包括这里的预分频器(PSC)、自动重装器(ARR)、计数模式(CNT)等等 第四步,配置输出中断控制,允许更新中断输出到NVIC 第五步,配置NVIC,在NVIC中打开定时器中断的通道,并分…
定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断
在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行。