OV-Watch-8-OWDG
一、硬件选型和原理图BL1551模拟开关,封装SC70-6_bl1551中文资料-CSDN博客
看门狗定时器实测-CSDN博客
1.1 BL1551B为NRES引脚输入低电平使单片机复位
当ENB为高电平时,B连接到A1
当ENB为低电平时,B连接到A2
1.2 TPS3823带看门狗计时器的 TPS382x 电压监视器 datasheet (Rev. N)
引脚1(RESET#):低电平复位输出
引脚4(WDI):看门狗计时器输入。如果 WDI 保持高电平或低电平的时间超过超时周期, 则会触发复位。当复位生效或 WDI 出现上升沿或下降沿时,计时器将清 零。如果未使用,WDI 连接必须为高阻抗,以防其引起复位事件
二、软件设计2.1 初始化通过控制单片机与BL1551B连接的引脚的高低电平来控制看门狗的启停
12345678910111213141516171819202122232425262728293031void WDOG_Port_Init(void){ GPIO_InitTypeDef GPIO_InitStructure = { ...
LVGL(一)基础对象
2-3-1_LVGL入门教程之基础对象(lv_obj)_哔哩哔哩_bilibili
Widgets(控件) — LVGL 文档
一、目录说明
demos:存放的是LVGL一些综合的内置示例,部分示例可以在官网体验
docs:存放LVGL的开发文档,阅读时一般不在这里直接阅读,而是在LVGL站点阅读
env_support:一些环境或者平台的支持,不如我们所使用的RT-Thread就在其中
scripts:存放一些处理脚本,我们在使用LVGL时基本不会用到
src:存放LVGL实际的源码,我们使用LVGL进行开发时,都是使用这里面的代码文件
tests:存放一些CI测试文件,我们在使用LVGL时不会用到
二、LVGL的启动流程初探12345678910111213141516171819202122232425262728293031int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLine, int nCmdShow){ /* 初始化LVGL库 */ lv_ ...
OV-Watch-7-MPU6050
一、硬件选型和原理图六轴传感器基础知识学习:MPU6050特性,四元数,姿态解算,卡尔曼滤波_mpu6050卡尔曼滤波姿态解算-CSDN博客
STM32外设系列—MPU6050角度传感器-CSDN博客
OV-Watch-6-LSM303DLH
一、硬件选型和原理图基于单片机设计的电子指南针(LSM303DLH模块(三轴磁场 + 三轴加速度)_lsm303dlh电子指南针-CSDN博客
LSM_DRDY,LSM_INT2,LSM_INT1没有连接引脚
OV-Watch-5-EM7028
一、硬件选型和原理图STM2F411智能手环设计-CSDN博客
【心率信号处理】:EM7028数据采集、采样与滤波技术 - CSDN文库
OV-Watch-4-BL24C02
一、硬件选型和原理图BL24Cxx系列EEPROM测试总结-CSDN博客
BL24C02P芯片的使用说明/i2c数据存储芯片-CSDN博客
OV-Watch-3-AHT21
一、硬件选型和原理图关于基于I2C使用AHT21B模块及stm32核心板进行温湿度采集-CSDN博客
OV-Watch-1-Blue
一、硬件选型和原理图
原理图引脚
MCU引脚
BLE_TX
PA9
BLE_RX
PA10
BLE_EN
PA8
1.BL1551BBL1551模拟开关,封装SC70-6_bl1551中文资料-CSDN博客
2.KT6328A1KT6368A国产蓝牙BLE芯片驱动程序&硬件注意事项-CSDN博客
二、软件2.1 KT6328.h123456#define BLE_EN_PORT GPIOA //宏定义引脚#define BLE_EN_GPIO GPIO_PIN_8 void KT6328_GPIO_Init(void);void KT6328_Enable(void);void KT6328_Disable(void);
2.2 KT6328.c123456789101112131415161718192021222324void KT6328_GPIO_Init(void){ GPIO_InitTypeDef GPIO_InitStruct = {0}; __HAL_RCC_GPIOA_CLK_ENAB ...
OV-Watch-2-系统滴答定时器
一、系统滴答定时器介绍【信盈达】- 关于STM32如何使用系统滴答定时器实现精准延时_哔哩哔哩_bilibili
SysTick 是 ARM Cortex-M 处理器内建的一个定时器,通常用于生成定时中断,用于实现操作系统的时间片轮转调度、延时功能或定期的定时任务。SysTick 定时器是一个 24 位递减计数器,通常用来生成周期性的中断,以便进行周期性任务的调度。
SysTick 定时器的工作原理:
24 位计数器:
SysTick 定时器的核心是一个 24 (16,777,216)位的递减计数器。计数器从一个预定值递减到 0。当计数器到达 0 时,会触发一个中断。
计数器可以通过设置其初始值来指定时间间隔。
中断控制:
SysTick 定时器生成的中断可以用来进行定时任务的执行,例如在 RTOS 中,SysTick 用来生成时间片,以进行任务调度。
也可以用于延时函数(如延时 1 毫秒、10 毫秒等),控制时间的流逝。
计时精度:
SysTick 的精度通常取决于系统时钟频率。常见的情况下,系统时钟频率为 72 MHz 或 48 MHz,因此 SysTick 的中断周期可 ...
数据结构-9-二叉树
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394//二叉树的创建与遍历#include <stdio.h>#include <stdlib.h>typedef struct TreeNode //定义二叉树结点的结构体{ char data; struct TreeNode* lchild; struct TreeNode* rchild;}TreeNode;void createTree(TreeNode** T, char* data, int* index) //初始化树{ char ch; ch = data[*index]; ...