自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 stm32Cubemx(8):RTC和RTC唤醒中断

实时时钟(RTC):它 是一个独立的 BCD 定时器/计数器。RTC 提供一个日历时钟、两个可编程 闹钟中断,以及一个具有中断功能的周期性可编程唤醒标志。RTC 还包含用于管理低功耗模 式的自动唤醒单元。两个 32 位寄存器包含二进码十进数格式 (BCD) 的秒、分钟、小时(12 或 24 小时制)、星期几、日期、月份和年份。此外,还可提供二进制格式的亚秒值。系统可以自动将月份的天数补偿为 28、29(闰年)、30 和 31 天。并且还可以进行夏令时补偿。其它 32 位寄存器还包含可编程的闹钟亚

2022-07-01 22:40:33 1955 1

原创 stm32Cubemx:看门狗------独立看门狗和窗口看门狗

看门狗是一个监控程序是否可靠运行的电路,如果不能可靠运行,则复位CPU参考中文参考手册独立看门狗是一个递减的计数器,减到0时候复位。所以喂狗时间要在计数器减到零之前。看门狗的时钟频率为32000HZpsc:32,j计数值:1000-1独立看门狗频率:32000/32=1000HZ所以从1000减到0,所需的时间为1:主要用到HAL_IWDG_Init()和HAL_IWDG_Refresh(),一个是初始化,一个是喂狗操作............

2022-06-21 21:07:12 606

原创 stm32Cubemx:usart-printf------stm32f407zgt6

需要添加头文件#include “stdio.h”

2022-06-04 10:21:45 249

原创 stm32Cubemx:串口不定长数据接收------stm32f407zgt6

串口不定长数据接收的配置,运用空闲中断来处理数据

2022-06-04 10:12:38 286

原创 stm32Cubemx:串口的空闲中断和接收中断------stm32f407zgt6

介绍串口的接收中断与空闲中断,这两种中断都是在串口进行接收时可能会发生的中断。串口接收中断即每当串口完成一次接收之后触发一次中断。在 STM32 中相应的中断处理函数为 USARTx_IRQHandler,中断回调函数为 HAL_UART_RxCpltCallback。可以通过USART 状态寄存器中的 UART_FLAG_RXNE 位判断 USART 是否发生了接收中断。串口空闲中断即每当串口接收完一帧数据后又过了一个字节的时间没有接收到任何数据则触发一次中断,中断处理函数同样为 USARTx_IRQH

2022-06-04 10:01:14 6883

原创 stm32Cubemx:PWM------stm32f407zgt6

PWM—脉冲宽度调制,基于定时器脉冲:方波,频率宽度:高电平的宽度,占空比这里以TIM14为例进行配置:通道选择:PWM Generation CH1PSC:分频值、Counter Period(arr):计数值,主要配置这两个参数这里PSC我设为8400-1,Counter Period(arr)设为10000-1,所以PWM频率为1HZ参考中文参考手册447页TIMx_CNT就是Counter Period(arr)值,TIMx_CCR1就是pulse值,有效状态就是CH Polar

2022-05-25 11:08:38 1347

原创 stm32Cubemx:定时器中断------stm32f407zgt6

定时器时钟频率由硬件自动设置:参考:stm32f4xx中文参考手册这里的APB域指的是APB1和APB2定时器时钟频率:APB1 TIme clock 或APB2 TIme clock ,具体要参考数据手册下面以TIM3以1ms触发中断实现LED闪烁:需要选择时钟源这里主要设置PSC(分频值)和ARR(自动重装载值)参数勾选中断生成代码就可以需要在main函数里,添加HAL_TIM_Base_Start_IT(&htim3); //开启定时器3的中断然后在添加更新中断

2022-05-14 16:54:51 931 1

原创 系统时钟中断和延时------------stm32f407zet6

参考:中文参考手册 108页 M3与M4权威指南 321页Systick时钟源有两个一个是HCLK(168MHZ)和8分频的HCLK(21MHZ)。HCLK时钟频率参考时钟树Cortex–M处理器有一个小型的集成计时器,称为SysTick(系统)计时器。它作为NVIC的一部分进行了集成,并可以生成SysTick异常(异常类型#15)。SysTick计时器是一个简单的24位递减计时器,可以在处理器时钟频率或参考时钟频率(通常是片上时钟源)上运行。Systick是24位向下递减的计数器,中

2022-04-30 23:49:21 877 1

原创 stm32Cubemx:外部中断---------stm32f407zet6

GPIO的位号0~15对应EXTI 0 ~ 15,并且只能一个对一个,不存在PA0和PG0共用一个EXTI0中断线。异常情况将由NVIC进行处理。NVIC可以处理许多中断请求(IRQs)和一个不可屏蔽的中断(NMI)请求。通常许多中断请求(IRQs)是由芯片外设或通过I/O端口从外部中断输入生成的。NMI可以被看门狗计时器或停电检测器(一个电压监测单元,当电源电压低于某一水平时警告处理器)使用。在处理器内部还有一个叫做SysTick的计时器,它可以生成一个周期性的定时器中断请求,它可以被嵌入式操作系统.

2022-04-21 21:33:05 2773

原创 volatile关键字运用----------------------stm32f407zgt6

volatile关键字三个应用场合:1.多线程编程共享全局变量的时候,该全局变量要加上volatile进行修饰,让编译器不要优化该变量。2.某函数与中断服务函数共享全局变量的时候,该全局变量要加上volatile进行修饰,让编译器不要优化该变量。3.ARM定义寄存器的时候,寄存器是指向一个地址,要加上volatile进行修饰,让编译器不要优化而省略该变量的访问。延时函数delay()中a的前面不加volatile,灯的闪烁加快。宏定义位带操作不加Volatile,按键操作灯不会亮。以上程序编

2022-04-02 20:43:25 145

原创 位带操作-----stm32f407zgt6

1.意义51单片机点灯代码P0 = 0x10; //将P0端口设置为0x10P1_0=1; //将P1端口0号引脚设置为高电平2.把这种编程方式移植到stm32参考资料:Coretex M3 权威指南 87页 位带操作在 CM3中,有两个区中实现了位带。其中一个是 SRAM 区的最低 1MB 范围,第二个则是片内外设区的最低 1MB 范围。这两个区中的地址除了可以像普通的 RAM 一样使用外,它们还都有自己的“位带别名区”,位带别名区把每个比特膨胀成一个 32 位的字。支

2022-04-02 20:14:00 569

原创 stm32芯片手册、固件库包、芯片支持包怎么下载

ST官网网址:https://www.st.com/content/st_com/zh.html注意下载资料需要邮箱,如果你是第一次登录请注册邮箱1.直接输入需要的型号例子:我想要STM32F407ZET6,然后点蓝色STM32F407ZET6,再点下载数据手册就行了下载固件库:https://www.st.com/zh/embedded-software/stm32-standard-peripheral-libraries.html点击方框选择型号,然后点get latest(获取最新版

2022-02-05 13:37:25 8094

原创 C语言运算符++(--)放前面和后面的区别

2022-01-29 11:59:59 410

原创 Altium Designer---------------AD15如何走差分线(最全教程)

**本次教程先介绍正确用法,后面举例一些非常常见的错误用法。**第一步,把要走差分线的网路命名为_P,_N然后Design->update PCB(进行DRC检查再把原理图导入PCb),然后回到原理图place->Directives->Differerential Pair再进行Design->update PCB(进行DRC检查再把原理图导入PCb),跳转到PCbDoc页面,点击pcb->Pcb第一个框设置为Differential Pairs Edito

2021-09-10 00:03:38 8528

原创 Altium Designer---------------## 同时出现unknown pin 和Failed to add class member错误,怎么办?

**同时出现unknown pin 和Failed to add class member错误,怎么办?**自身排除自己的几个低级错误:1.原理图没有封装(这个问题)2.原理图引脚号和封装PCB脚号不一样(如果你是嘉立创下封装到AD直接用不会出现这问题)首先删除掉到PCB页面中执行这两步:1.Design -> Netlist->Edit Nets ->delete 所有网络2.Design->classes->Component ->Componet

2021-08-25 15:57:11 793 1

原创 stm32CubeMX------------按键之上拉电阻和下拉电阻

很多小伙伴会对上拉电阻和下拉电阻的配置有疑惑,下面我们通过一个小实验来给大家得出正确答案本次实验用的是正点原子stm32f103RBT6NANo版,软件:stn32CubeMX我将用到LED0、LED1、LED2、LED3、LED4、KEY0、KEY1、KEY2、WK_UPLED0----------------------PC0LED1----------------------PC1LED2----------------------PC2LED3----------------------

2021-02-10 12:22:44 6298 4

原创 stm32CubeMX------LED之上拉电阻和下拉电阻

很多小伙伴会对上拉电阻和下拉电阻的配置有疑惑,下面我们通过一个小实验来给大家得出正确答案本次实验用的是正点原子stm32f103RBT6NANo版,软件:stn32CubeMX我将用到LED0、LED1、LED2、LED3、LED4LED0----------------------PC0LED1----------------------PC1LED2----------------------PC2LED3----------------------PC3LED4-------------

2021-01-28 13:38:08 5605 2

原创 html的无序列表个人总结

无序列表:ul: unordered listli: list item所谓的无序列表,我小白认为 只是前面没有序号来分别先后顺序默认使用实心圆作为符号标记<!DOCTYPE htm><html> <head> <title>双击666</title> <meta charset="utf-8"> </head> <body>

2020-08-04 00:26:49 244

原创 git的说明书,快速入门

:https://git-scm.com/book/zh/v2有中文,自己看啦

2020-08-02 11:31:38 96

原创 编写一段程序实现以下功能:数组中原有的数据已按升序排序。从键盘输入1个整数插入到数组适当位置,使数据仍保持升序。如果输入数据已经存在,则提示不再插入。

输入:34结果如下:

2020-05-21 18:02:10 2690 1

空空如也

空空如也

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

TA关注的人

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