
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文介绍了Unix时间戳、BKP备份寄存器和RTC实时时钟三个关键概念。Unix时间戳是从1970年1月1日开始的秒计数,C语言的time.h模块提供了相关转换函数。BKP备份寄存器可在主电源断开时由备用电池供电保持数据,具有防篡改检测功能。RTC实时时钟提供独立计时功能,通过32位计数器和预分频器实现精确计时,支持多种时钟源和低功耗唤醒机制。三者共同构成了计算机和嵌入式系统中的时间管理和数据保护
起始信号 → 等待EV5 → 发设备地址(写) → 等待EV6 → 发寄存器地址 → 等待EV8_2 → 重复起始信号 → 等待EV5 → 发设备地址(读) → 等待EV6_1 → 禁用应答 → 发送停止信号 → 等待EV7 → 读取数据 → 重新使能应答 → 返回数据。起始信号 → 等待EV5 → 发设备地址(写) → 等待EV6 → 发寄存器地址 → 等待EV8 → 发数据 → 等待EV8_2
•MPU6050是一个6轴姿态传感器,可以测量芯片自身XYZ轴的加速度、角速度参数,通过数据融合,可进一步得到姿态角,常应用于平衡车、飞行器等需要检测自身姿态的场景•3轴加速度计():测量XYZ轴的加速度•3轴陀螺仪传感器(Gyroscope):测量XYZ轴的角速度加速度计:具有静态稳定性,动态不稳定陀螺仪:具有动态稳定性,不具有静态稳定性。•STM32内部集成了硬件I2C。
本篇开始DLGXY将记录学习STM32F103C8T6库开发的笔记,学习方式是主要观看B站的江协科技、铁头山羊的视频。学习过程中可以利用AI软件进行铺助学习,比如用自己的语言讲述某个知识点,让AI判断我们自己的理解是否有误,以此来加深印象。STM32F103C8T6是意法半导体(STMicroelectronics)推出的基于ARM Cortex-M3内核的32位微控制器,属于STM32F1系列中
SS、CLK、DOSI配置为推挽输出,DISO配置为上拉输入,初始之后SS置为高电平默认不选中从机,使用SPI模式0将SCK置为低电平。这里采用的是事后等待,读取数据时其他操作都已完成,芯片不处于忙碌状态,所以无须进行等待。发送读寄存器1的指令,用0xFF交换数据,按位与将最后一位取出,防止程序卡死加入超时退出。写使能,发送指令02,再发送3个字节的地址,发送数据,事后等待。发送读取指令,发送地址
之后三句是BKP的初始化,然后主循环里循环执行的是,先获取键码,如果按键按下,就变换一下测试数据,把数据分别写入到BKP的DR1和DR2中,再在OLED显示写入的数据。在按键没有按下时,也不断读取BKP的DR1和DR2,刷新显示到OLED上。把自定义的时间数组转换成标准时间戳,写入 RTC 硬件计数器,完成 RTC 时间配置。:RTC 寄存器写入需要时间,必须等待操作完成,否则会出现时间设置失败。
可右击文件,点击第五个Open Containing Folder,这个是已经修改过的了,原本是72MHZ,现在修改为36MHZ。如果文件上有个小钥匙的话,可以到文件存储地址中更改文件属性。__WFE():让 CPU 进入休眠,直到有事件发生才唤醒。__WFI():让 CPU 进入休眠,直到有中断来才唤醒。
Store_Save= 保存数据到 FLASH必须先擦除,再写入数据来源是 RAM,写入目标是 FLASH掉电不丢失靠 FLASH,不是 RAM这是 STM32 最标准、最稳定的掉电保存方案只清数据,不清0xA5A5。清完后:FLASH 依然是已初始化状态。下次开机:直接读取清零后的数据,不会重复执行格式化流程。
此项目是在B站UP“技术探索者”的环境检测项目的基础上,进行扩展改动的。本项目硬件由为主控,搭配 DHT11、光敏电阻、MQ135 三类环境传感器,HC-05 蓝牙模块实现无线通信;外设包含 0.96 寸 OLED 屏、独立按键、TB6612 驱动模块、5V 风扇、LED 灯珠,整套器件均可使用 5V USB 供电,体积小巧。实现通过环境温度&手动按键控制电机转速,环境光暗&蓝牙控制LED的亮度,
分频计算:32.768kHz / (127+1) / (255+1) = 1Hz,保证 RTC 秒脉冲准确。将PB0/1,配置为外部中断下降沿触发模式,开启内部上拉。PB0用来切换屏幕,PB1用来调节风扇转速。通道3输出的PWM用来控制电机转速,通道4输出的PWM用来控制电灯的亮度。用PA4/5两个GPIO口来控制电机的转动方向。LED的正极接PB11,负极接GND。中文显示编码),用来接收亮度反







