自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 LVGL 学习笔记(一)

从今天开始我将开始记录我的LVGL的学习过程。包括LVGL在OS上的应用,这里我使用的是freertos操作系统。我将从windows系统上仿真学习开始,逐步展开,最后迁移到freertos中。这即是我自己的笔记也是对于其他人刚刚入门的学习笔记的共享。这里我跟的课程是正点原子的新版课程,使用的编译工具是codeblocks 20.03 mingw和keil5.这里不包括工程的建立以及移植,只有使用编程的方法以及思想。希望与大家共勉。

2024-04-22 17:55:09 1175 1

原创 stm32 2.8寸TFTLCD

例如:假设设置的是从左到右,从上到下的扫描方式,那么设置好起始坐标(通过SC,SP设置)后,每写入一个颜色值,GRAM地址将会自动自增1(SC++),如果碰到EC,则回到SC,同时SP++,一直到坐标:EC,EP结束,其间无需再次设置的坐标,从而大大提高写入速度。ILI9341在收到该指令后,第一次输出的是dummy数据(无效),第二次开始,读取到的才是有效的GRAM数据(从坐标:SC,SP开始),输出规律为:每个颜色分量占8个位,一次输出2个颜色分量。该指令为读ID4指令,用于读取LCD控制器的ID。

2023-06-18 11:15:04 3077

原创 stm32 定时器输入捕获实验

输入捕获模式可以用来测量脉冲宽度或者测量频率原理图如图 所示,就是输入捕获测量高电平脉宽的原理,假定定时器工作在向上计数模式,图中 t1~t2 时间,就是我们需要测量的高电平时间。测量方法如下:首先设置定时器通道 x 为上升沿捕获,这样, t1 时刻,就会捕获到当前的 CNT 值,然后立即清零 CNT,并设置通道 x为下降沿捕获,这样到 t2 时刻,又会发生捕获事件,得到此时的 CNT 值,记为 CCRx2。这样,根据定时器的计数频率,我们就可以算出 t1~t2 的时间,从而得到高电平脉宽。

2023-05-20 14:32:28 3208

原创 stm32 OLED显示实验

可使用pctolcd等工具辅助画图。由于没有0.96的OLCD模块,本次实验没有进行操作,仅仅是为下一节TFTLCD提供一些基础。更新缓存,显示内容。

2023-05-20 14:32:08 311

原创 STM32 PWM输出实验

我们假定定时器工作在向上计数PWM 模式,且当 CNT<CCRx 时,输出 0,当 CNT>=CCRx 时输出 1。那么就可以得到如上的PWM 示意图:当 CNT 值小于 CCRx 的时候, IO 输出低电平(0),当 CNT 值大于等于 CCRx 的时候, IO 输出高电平(1),当 CNT 达到 ARR 值的时候,重新归零,然后重新向上计数,依次循环。改变 CCRx 的值,就可以改变 PWM 输出的占空比,改变 ARR 的值,就可以改变 PWM输出的频率。周期与arr有关。

2023-05-07 14:17:13 995

原创 STM32通用定时器

STM32的通用 TIMx (TIM2、 TIM3、 TIM4 和 TIM5)定时器功能包括:1)16 位向上、向下、向上/向下自动装载计数器(TIMx_CNT)。2)16 位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数为 1~65535 之间的任意数值。3) 4 个独立通道(TIMx_CH1~4),这些通道可以用来作为:A.输入捕获B.输出比较C. PWM 生成(边缘或中间对齐模式)D.单脉冲模式输出。

2023-05-03 17:34:03 2186

原创 stm32 窗口看门狗

窗口看门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在 T6 位(WWDG->CR 的第六位)变成 0 前被刷新,看门狗电路在达到预置的时间周期时,会产生一个 MCU 复位。在递减计数器达到窗口配置寄存器(WWDG->CFR)数值之前,如果 7 位的递减计数器数值(在控制寄存器中)被刷新,那么也将产生一个 MCU 复位。这表明递减计数器需要在一个有限的时间窗口中被刷新。

2023-04-22 16:57:57 233

原创 stm32 独立看门狗IWDG实验

1)STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效。独立看门狗的时钟是一个内部 RC 时钟,所以并不是准确的 40Khz,而是在 30~60Khz 之间的一个可变化的时钟,只是我们在估算的时候,以 40Khz 的频率来计算,看门狗对时间的要求不是很精确,所以,时钟有些偏差。2)在键寄存器(IWDG_KR)中写入 0xCCCC,开始启用独立看门狗(第一步,启动看门狗);此时计数器开始从其复位值 0xFFF 递减计数。

2023-04-22 15:44:28 259

原创 stm32外部中断按键实验

/根据 EXTI_InitStruct 中指定的参数初始化外设 EXTI 寄存器。上面的例子设置中断线 4 上的中断为下降沿触发。STM32 的外设的初始化都是通过结构体来设置初始值的。中断线上中断的初始化是通过函数 EXTI_Init()实现的。这个函数一般应用在中断服务函数结束之前,清除中断标志位。这个函数一般使用在中断服务函数的开头判断中断是否发生。STM32 的每个 IO 都可以作为。二,外部中断常用函数。三,外部中断的一般步骤。

2023-04-15 18:09:26 339 1

原创 自定义调试串口函数

USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct)参数为(串口标号,结构体)

2023-04-15 16:46:47 238

原创 串行通信原理

一,处理器与外部设备通信的两种方式1,并行通信传输原理:数据各个位同时传输优缺点;传输速度快,但占用引脚资源多2,串行通信传输原理:数据安慰顺序传输优缺点:占用引脚资源少,但是速度较慢二,按照数据传输方向分类:1,单工 :数据传输只支持数据在一个方向上传输2,半双工 :允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;

2023-04-07 15:38:11 181 4

原创 C语言内容补充

C 语言中 extern 可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。在test.c的 changeId(void)函数中使用变量id,这个时候我们就需要在test.c里面去申明变量 id 是外部定义的。Typedef 为结构体定义一个别名 GPIO_TypeDef,这样我们可以通过 GPIO_TypeDef 来定义结构体变量。在 test.c 中申明变量 id 在外部定义,然后在 test.c 中就可以使用变量 id 了。

2023-04-07 14:56:35 59

原创 stm32mini 按键输入实验

(注意:KEY0 和 KEY1 是低电平有效的,而 WK_UP 是高电平有效的,除了KEY1 有上拉电阻(与 JTDI 共用),其他两个都没有上下拉电阻,所以,需要在 STM32 内部设置上下拉)else if(KEY没有按下) key_up=1;//表示没有扫描到按下,则返回 key_up=1。//mode置为1时,key_up每次扫描中都为1。//识别到按下,返回KEY的真实值。if(key_up && KEY按下)if(key_up&&KEY按下)

2023-04-02 16:05:23 180 1

原创 实现stm32mini跑马灯

读取单个寄存器例如GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_5);固件库核心文件和启动文件。

2023-03-25 17:05:45 140 1

原创 ministm32 新建工程模板 ——基于固件库

将STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 下面的 4 个文件main.c, stm32f10x_conf.h, stm32f10x_it.c stm32f10x_it.h 复制到 USER 目录下面。将里面的三个文件 stm32f10x.h, system_stm32f10x.c, system_stm32f10x.h,复制到 USER目录之下。编译工程,在编译之前我们首先要选择编译中间文件编译后存放目录。

2023-03-24 16:12:05 81

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除