固件 函数stm tim

STM32HAL库使用SPI驱动1.44寸TFTLCD

关于STM32F4单片机,使用HAL库自带的SPI,驱动TFTLCD屏幕的资料网上好像不太多,正好最近我做了这项工作,把成果分享给大家。我的代码实现了这些功能:任意坐标画点,指定首尾坐标画线,画方框,指定区域显示彩图,显示16* 16或者12* 12的汉字、ASCII码,并附带ASCII码表与少量的 ......
TFTLCD 1.44 STM HAL SPI

基于STM32封装的HTTP请求

使用STM32封装HTTP协议 通过封装HTTP头,向服务器发送GET请求,通过GET请求上传数据,并获取返回值 #include <string.h> #include <stdio.h> #include <stdint.h> char text[30]; char temp[10]; /** ......
HTTP STM 32

cJSON在STM32中的应用

写在前面: 将JSON应用在STM32上面已经很普遍了,但还是有很多问题在网上找不到答案,毕竟自己造轮子和找轮子造车还是有点差别。 今天就总结一下最近在STM32上使用cJSON所遇到的一些问题。 正文开始线 什么是cJSON: JSON的C语言版,一种常用的轻量级数据交换格式,详情见 JSON介绍 ......
cJSON STM 32

STM32F0 HAL库软件模拟串口发送数据

试验STM32F0官方提供的例程的时候,希望看到程序中某些变量的值,但是程序中往往没有串口发送部分,自己加又非常麻烦。 而点亮LED的程序基本上每个例程都有。所以用点亮LED引脚模拟串口发送数据就很方便,不用再去初始化串口IO,初始化串口等等。 /** * @brief 软件模拟串口发送数据 * @ ......
串口 数据 软件 STM 32F

【HAL】stm32F103 DAC+DMA+TIM6查表法产生正弦波

一、平台 二、配置 1、DAC的配置 输出缓冲Output Buffer建议关闭。DAC的输出缓存可以用来减小输出阻抗,无需外部运放即可直接驱动外部负载。但输出不能达到0(会出现底部失真),不推荐开启。具体参考官方手册,缓冲器打开时低端的DAC输出电压大概0.2V(不同型号可能不同,暂未考证) 2、 ......
正弦 F103 TIM6 HAL 103

stm32按键 长按 短按 函数 一

在stm32工程中,长按和短按的代码书写, 调用的读取按键状态的底层函数。封装成的按键函数代码。下面是函数的头文件,和.c文件的代码。使用定时器来扫描按键。 #define KEY_ON 1#define KEY_OFF 0#define KEY_NULL 0#define KEY_SHORT 1# ......
按键 函数 stm 32

STM32的IIC存储和读取整形数据

STM32的IIC存储和读取整形数据, 下面的程序代码是使用stm32F03ZET6的I2C1(PB6,PB7)和AT24C02的EEPROM来测试的。希望对于需要的朋友有帮助。 主要代码如下: #include "delay.h"#include "stm32f10x.h"#include "us ......
数据 STM IIC 32

STM32 用定时器产生1Mhz 脉冲,

STM32 用定时器产生1Mhz 脉冲,PWM宽度可调,四路输出 源码:记得要加入文件 gpio rcc tim 等c文件 #include "stm32f10x_conf.h" void GPIO_CFG(void); void RCC_CFG(void); void TIM_CFG(void); ......
定时器 脉冲 1Mhz STM Mhz

STM32CubeMX ADC单通道和多通道DMA转换

ADC单通道DMA转换 主要选项说明(绝大部分工程设置下面参数即可): Clock Prescaler:ADC时钟;时钟不超过36M(从ABP2时钟分出)。 Resolution:分辨率;例如我们选12bits,即使把3.3V电压分成2^12。不可测量超过3.3V的电压,必须分压。 Data Ali ......
通道 CubeMX STM ADC DMA

EC11旋转编码器、stm32f103驱动程序

1、EC11手册的要点 注意:旋转的速度、RC滤波 手册中推荐的电路(已含有RC滤波): 输出波形特点: 2、硬件电路 加上RC滤波电路 做法是两个端点都采用10pF电容接地,10KΩ电阻接VCC。 实测100pF电容也行。 用示波器看看波形有无噪声 另外,看看不同旋转速度时的延时要求(具体见下面的 ......
编码器 驱动程序 编码 程序 f103

【STM32+cubemx】0024 HAL库开发:IAP(在应用编程)的实现

IAP在应用编程(In-Application Programming),指的是MCU在运行应用程序时,能接收新的烧写文件,并更新到自身的程序存储器中。即可以在应用程序运行时在线升级。 本节我们通过一个简单的例子,来实现STM32的IAP功能。这个例子有两部分程序,boot部分包含IAP功能,运行后 ......
cubemx 0024 STM HAL IAP

【STM32】HAL库 STM32CubeMX教程十一---DMA (串口DMA发送接收)

前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1、芯片: STM32F407ZET6/ STM32F103ZET6 2、STM32CubeMx软件 3、IDE: MDK-Keil软件 4、STM32F1xx/STM ......
串口 STM DMA 教程 CubeMX

stm32 ADC理解

神通广大的各位互联网的网友们、大家早上中午晚上好好好、今早起来很准时的收到了两条10086的扣月租的信息、心痛不已、怀着这心情、又开始了STM32的研究、早上做了计算机控制的PID实验,又让我想起了飞思卡尔的电磁小车、、曾经的电感电压采集让我心碎的多少次、又让我开心了多少次、但已经成为过去、(软件和 ......
stm ADC 32

STM32F407串口

#include "stm32f4xx.h" #include "usart.h" void My_USART1_Init(void) { //GPIO结构体定义 GPIO_InitTypeDef GPIO_InitStructure; //串口结构体定义 USART_InitTypeDef USA ......
串口 F407 STM 32F 407

STM32串口中断接收一个完整的数据帧

代码运行条件: (1) 大端发送; (2) 上位机发送一帧数据的时间间隔不能大于主循环周期; (3)数据帧满足下面格式: 帧头部(Head) 类型(Type) 长度(Length) 值(Value) CRC校验 2字节 1字节 1字节 X字节 2字节 0xaa 0x55 X void USART6_ ......
串口 数据 STM 32

使用HAL库开发STM32:系统时间基础及进阶使用

文章目录 目的基础使用进阶使用总结 目的 HAL库默认提供了系统时间,系统时间默认情况下由SysTick定时器计数产生。系统时间一方面用于HAL库自身调用,另一方面用户也可以使用,为开发带来便利。(本文提到的相关使用主要应用于未使用OS(操作系统)的情况下。) 基础使用 一般的系统时间使用方面常用到 ......
时间 基础 系统 HAL STM

STM32CubeMX HAL库串口+DMA数据发送不定长度数据接收

参考资料:1、ST HAL库官网资料 2、https://blog.csdn.net/u014470361/article/details/79206352#comments 一、STM32CubeMX配置外部时钟 注意在进行外部时钟配置时,即“High Speed Clock”和“Low Spee ......
数据 串口 长度 CubeMX STM

STM32中通过普通延时函数来精确延时

在STM32中处处会用到延时函数,一般而言,对于普通的控制延时,并不会要求特别精确,所以可以使用普通的延时函数,例如 void delay(u32 time){ while(time--);} 但是在某些情况下,例如读取传感器数据,就 需要精确的延时,对于这种,这时候可以考虑使用软件定时器或者系统定 ......
函数 STM 32

STM32CubeIDE HAL库函数操作RTC实时时钟 及 定时闹钟中断

目录 一、MX配置 二、软件生成的关键代码 三、 用户代码 附:回调函数的配置方法 一、MX配置 1. 设置LSE 2. 配置RTC - 激活时钟源 - 激活日历 - 配置2020年2月3日09:40:0 (HAL库的年份从2000年开始计算,Year变量可以填写0至99的数) 3. 使能闹钟中断( ......
闹钟 时钟 函数 实时 CubeIDE

STM32F407定时器时钟频率和时钟源

(1)高级定时器timer1, timer8以及通用定时器timer9, timer10, timer11的时钟来源是APB2总线 (2)通用定时器timer2~timer5,通用定时器timer12~timer14以及基本定时器timer6,timer7的时钟来源是APB1总线 (3)当APB1和 ......
时钟 定时器 频率 F407 STM

STM32模拟GPS输出PPS、GPRMC与VLP16时钟同步

这里写目录标题 1.VLP16与GPS相关的管脚:2.利用GPS信息完成时间同步 TimeSynchronization3.查找同步关系4.修改ROS代码结论 1.VLP16与GPS相关的管脚: GPS-RECEIVE 接收GPS的GPRMC语句,注意是RS232电平(high 3-15V,low ......
时钟 GPRMC STM GPS PPS

STM32系列修改外部晶振以及代码的修改(f103、f105为例)

此文章为引用 正点原子详细讲解 刚刚接触STM32的时候,用的都是8M晶振。比如你想更换到为外部晶振为12M,但是主频仍想用72M的。该如何设置?或者想倍频到更高的主频该怎么修改? 例子就直接直接拿<正点原子>的例子吧! 属性原来现在外部晶振8M12M倍频96主频72M72M 想从原来的8M修改到现 ......
代码 f103 f105 STM 103

使用 c++ 在 windows 上稳定定时执行一个函数

```cpp #include #include #include #pragma comment( lib, "Winmm" ) static int counter = 0; static int64_t ticks_per_second; void __stdcall on_timer(HWN ......
函数 windows

【Java设计模式】模板方法+回调函数

[toc] ## 1. 模板方法定义 ​ 定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。其核心要义在于,搭好一个框架,但部分操作由子类实现 定义父类 ```java public abstract class AbstractC ......
设计模式 函数 模板 模式 方法

STM32的PID温控

STM32的 PID和PWM墨水温度控制系统 1 控制方案: K_SENSOR热电偶作为温度传感器,50w电烙铁作为加温设备作为控制对象,预先设定一个温度值,微处理器为ARM公司Cortex-M3内核,STM32F103ZET6型号,开发板需用3.3v供电运行。采用MAX6675芯片作为K型热电偶信 ......
STM PID 32

STM32的DSP库中PID的使用介绍

最近工程需要用到PID控制,正好STM32的DSP库有DIP函数,所以研究了下 先看数据参数: typedef struct{ float32_t A0; /**< The derived gain, A0 = Kp + Ki + Kd . */ float32_t A1; /**< The der ......
STM DSP PID 32

STM32定时器做外部计数器

实现简述: 定时器有如下几种功能用法: 1>定时。使用内部时钟源 2>PWM调制输出。使用内部时钟源 3>脉冲宽度(频率)测量。使用内部时钟源,外部边沿触发 4>脉冲数计数。使用外部时钟输入 我们这里使用了TIM5定时器做“脉冲数计数”,定时器做外部脉冲计数,首先要确定外部时钟信号输入的引脚,我们这 ......
定时器 计数器 STM 32

stm32定时器外部计数模式 最大频率计算。

外部时钟模式下,外部信号通过内部时钟(CK_INT)采样得到。 外部信号周期的计算方法是:2xTINT+20ns,这里的TINT是CK_INT的周期时间。 例如:内部时钟频率为72MHz,则TINT = 13.89ns,这时外部信号的最高频率是:1/(2x13.89ns+20ns) = 20.93M ......
定时器 频率 模式 stm 32

使用 STM32 测量频率和占空比的几种方法

这几天在论坛上面解答了好几个询问STM32测量频率的贴子,觉得这种需求还是存在的(示波器、电机控制等等)。而简单搜索了一下论坛,这方面的贴子有但是不全。正好今年参加比赛做过这方面的题目(最后是一等奖嘿嘿),所以把我们当时尝试过的各种方案都列出来,方便以后大家使用,也是作为一个长期在论坛的潜水党对论坛 ......
频率 方法 STM 32