- 博客(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:串口的空闲中断和接收中断------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
原创 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
原创 编写一段程序实现以下功能:数组中原有的数据已按升序排序。从键盘输入1个整数插入到数组适当位置,使数据仍保持升序。如果输入数据已经存在,则提示不再插入。
输入:34结果如下:
2020-05-21 18:02:10
2690
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人