摘要:1 u8 TIM5CH1_CAPTURE_STA=0; //输入捕获状态 2 u16 TIM5CH1_CAPTURE_VAL; //输入捕获值 3 4 //定时器5中断服务程序 5 void TIM5_IRQHandler(void) 6 { 7 8 if((TIM5CH1_C...
阅读全文
摘要:有2种方式与OLED模块相连接,一种是8080的并口方式,另一种是4线SPI方式。 ALIENTEK OLED 模块的 8080 接口方式需要如下一些信号线:CS: OLED 片选信号。WR:向 OLED 写入数据。RD:从 OLED 读取数据。D[7: 0]: 8 位双向数据线。RST(RES):
阅读全文
摘要:ADCCLK最大等于14,采样周期为1.5. ADC分两个通道组:规则通道组和注入通道组.规矩通道组就相当于正常运行,而注入通道就相当于中断。 ADC为模数转换,而DAC则为数模转换。在芯片引脚中,所有的ADC都能进行AD转换,如果要接外设,那就要看有多少个ADC口能接外设了。 ADC通道与对应的G
阅读全文
摘要:https://wenku.baidu.com/view/c118c3fb360cba1aa811da9d.html?qq-pf-to=pcqq.c2c
阅读全文
摘要:你可以把继电器当成一个led来控制,只不过就是电路图不一样,但配置原理是一样的, 控制相对应的GPIO口,推挽输出,就行了,然后仿真一下就会发现哒哒哒的声音。
阅读全文
摘要:1.进入Ubuntu界面 1.1按快捷键 Ctrl + Alt + T; 1.2 安装vim:输入 sudo apt-get install vim; 1.3 安装gcc:输入 sudo apt-get install g++。 2.创建文件,敲写代码。 2.1 新建文件名为test.c的源文件:输
阅读全文
摘要:SPI是一种高速的,全双工同步的通信总线,在芯片管脚上占用了四根线,节约了芯片的管脚,同时为PCB的布局节省了空间,提供了方便,因此越来越多的芯片集成了这种通信协议,STM32也就有了SPI接口。 有上图可知有四个通信口,两个位移寄存器是同步的,那MISO和MOSI就不难理解了。 SCLK时钟信号,
阅读全文
摘要:DMA就是将一个地址空间复制到另外一个地址空间。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备直接传送数据,使CPU的效率大大的提高了。 stm一般有两个DMA控制器,DMA1有7通道。DMA2有5个通道。 STM32 的 DMA
阅读全文
摘要:VDDA 和 VSSA 为 DAC 模块模拟部分的供电,而 Vref+则是 DAC 模块的参考电压。DAC_OUTx 就是 DAC 的 输出通道了 (对应 PA4 或者 PA5 引脚)。 由第一张图可知,要让DAC工作,必须要设置该寄存器。 要配置DAC,则要5步完成: 1)开启 PA 口时钟,设置
阅读全文
摘要:STM32的内部温度传感器和ADCx—IN16输入通道相连接。且温度传感器推荐采样时间为17.1us,支持的温度范围为:-40~125度,精度比较差,± 5℃左右。 计算温度值:T(℃) ={(V25-Vsense) /Avg_Slope}+25 V25=Vsense 在 25 度时的数值(典型值为
阅读全文
摘要:STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器,它有 18 个通道,可测量 16 个外部和 2 个内部信号源 各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。 ADC 的结果可以左对齐或右对齐方式存储在 16 位数据 寄存器中。 当ADC 通道 1 在 PA1 上时。 知识
阅读全文
摘要:1) 使能电源时钟和备份区域时钟。 RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); //使能电源时钟和备份区域时钟。 2) 取消备份区写保护。 要向备份区域写入数据,就要先取消备份区域写保护 ,否则是无
阅读全文
摘要:在STM32 的定时器,除了 TIM6 和 TIM7,就是通过检测 TIMx_CHx 上的 边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候, 将当时定时器 的值(TIMx_CNT) 存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)里面, 完成一次捕获。同时还可以配置捕获时是否触发中
阅读全文
摘要:1.独立看门狗: 1) 取消寄存器写保护(向 IWDG_KR 写入 0X5555) IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //使能或者失能 2) 设置独立看门狗的预分频系数和重装载值 void IWDG_SetPrescaler(uint8_t
阅读全文
摘要:通常led灯条所采用的LED驱动电流都是20mA, 这网站里有led电阻的详细计算过程:http://www.bao1314.net/792.html
阅读全文
摘要:TIMx,通道x,无映射,部分映射,完全映射 TIM1_CH1, PA8, PE9, TIM1_CH2, PA9, PE11 TIM1_CH3, PA10, PE13 TIM1_CH4, PA11, PE14 TIM2_CH1, PA15 TIM2_CH2, PA1, PB3 TIM2_CH3, P
阅读全文
摘要:1 #include "led.h" 2 3 void TIM3_Int_Init(u16 arr,u16 psc) 4 { 5 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; 6 NVIC_InitTypeDef NVIC_InitStructure; 7 8 RCC_APB1PeriphClockCm...
阅读全文
摘要:在用c语言写LED流水灯的前提条件是配置好其他环境,这里我就不说环境了, 想让LED灯无限循环时,首先要想到的是无限循环函数,我这里利用的是for函数 无限循环。 #include "stm32f10x_conf.h"#include "led.h"#include "delay.h" int ma
阅读全文
摘要:在STM32中的sys.c文件编译报出这个错误时: __ASM void MSR_MSP(u32 addr){ MSR MSP, r0 //set Main Stack value BX r14} 如果你上上面那种写法的话,那就修改成下面这种应该就没事了 void MSR_MSP(u32 addr)
阅读全文
摘要:STM32 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。而通用定时器也能同时产生多达 4路的 PWM 输出,这样, STM32 最多可以同时产生 30 路 PWM 输出! 要使 STM32
阅读全文
摘要:1)STM32一般有19 个外部中断为: 线 0~15:对应外部 IO 口的输入中断。线 16:连接到 PVD 输出。 线 17:连接到 RTC 闹钟事件。 线 18:连接到 USB 唤醒事件。 2)配置 GPIO 与中断线的映射关系的函数 GPIO_EXTILineConfig()来实现的: vo
阅读全文
摘要:1)TIM3 时钟使能 。 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIMx, ENABLE); //时钟使能 2) 初始化定时器参数,设置自动重装值, 分频系数,计数方式等。 定时器的初始化函数TIM_TimeBaseInit voidTIM_TimeBaseI
阅读全文
摘要:在STM32中 APB1(低速外设)上的设备有:电源接口、备份接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、窗口看门狗、Timer2、Timer3、Timer4 。 APB2(高速外设)上的设备有:GPIO_A-E、USART1、ADC1、ADC2、ADC3、TIM1、
阅读全文
摘要:串口设置的一般步骤可以总结为如下几个步骤: 1) 串口时钟使能, GPIO 时钟使能2) 串口复位3) GPIO 端口模式设置4) 串口参数初始化5) 开启中断并且初始化 NVIC(如果需要开启中断才需要这个步骤)6) 使能串口7) 编写中断处理函数 1.串口时钟使能。 串口是挂载在 APB2 下面
阅读全文
摘要:报错内容 /tmp/cc7eQyD4.o: In function `main':test.c:(.text+0x51): undefined reference to `sqrt'collect2: ld returned 1 exit status 在编译后面加上-lm gcc -o test
阅读全文