自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flash地址空间的数据读取

进一步优化与拓展:未来可以进一步优化 Flash 读写操作的代码效率,提高读写速率,探索更高级的 Flash 应用功能,如分区存储、数据加密等,以满足更加复杂和多样化的应用需求,为嵌入式系统的功能扩展和性能提升提供更多可能性。项目开发中的应用潜力:基于对 Flash 读写的掌握,在未来的项目开发中,可以充分利用内部 Flash 存储大量数据,如配置信息、运行日志等,减少对外部存储设备的依赖,提高系统的稳定性和可靠性,同时降低成本和硬件复杂度。

2024-12-30 16:57:25 1847

原创 多任务程序设计

本次实验成功将uc/OS - III移植到STM32F103芯片上,构建了三个任务,实现了对LED灯的控制和串口通信。

2024-12-25 19:25:02 686

原创 温湿度采集与OLED显示

I2C(Inter - Integrated Circuit)协议,也称为 I²C 或 IIC,是一种用于在集成电路之间进行通信的串行通信协议。U8g2是GitHub上一款十分优秀的开源图形库(GUI库),其本质是嵌入式设备的单色图形库。在 Github 上超过3.2K Star,2.6K Commit。其开发语言90%为C语言,且代码简洁干练便于移植与后期修改。

2024-12-15 22:30:07 1040

原创 定时器与PWM

比如设定一个任务调度的最小时间片(比如 10 毫秒或者其他合适时长),按照顺序依次去检查是否该执行 LED 闪烁相关操作(看距离上次执行是否达到了 2 秒),以及是否该执行串口发送任务(看距离上次执行是否达到了 5 秒),在每个时间片里切换执行不同任务,保证每个任务都有机会被处理,以此来近似实现周期性执行这两个任务的效果。对于让 LED 灯周期性闪烁(2 秒周期)这个任务,在循环中持续去检测当前时间距离初始时间是否达到了 2 秒的整数倍,如果达到了,就去执行切换 LED 灯状态的操作,让其闪烁。

2024-12-11 19:28:28 792

原创 STM32串口通信

同时,关于只接 TX - RX、RX - TX 两根线而不接电源线或 GND 地线时文件传输是否正常工作的思考,让我深刻理解了 GND 地线在串口通信中的重要性,它为信号提供了参考电位,缺少地线会导致信号传输异常,通信无法正常进行。在理想情况下,文件大小(S,单位:bit)、波特率(B,单位:bit/s)和传输时间(T,单位:s)的关系为T=S/B,本次传输的文件大小约为540KB,波特率是115200,计算后传输时间约为38.4s。首先打开说stm32CubeMX,新建工程后,选择所使用的芯片。

2024-12-09 22:29:26 1186

原创 基于HAL库和中断的LED流水灯

然后开始配置GPIO,我使用的GPIO端口为PA5、PB0、PC14,它们来当作流水灯的输出端口,点击右侧的芯片图标,找到所使用的引脚,并将其设置为GPIO_Output,然后修改Pin脚的电平,将其改为高电平。连接完成后,打开对应keil的项目,然后运行产生hex文件,点击芯片,在图中位置找到自己的keil项目,在里面找到hex文件,选择完成过后,点击确定。重新建立一个新的工程,按照上面的实验步骤进行相同的配置后,又多出来了一个GPIO接口来当作开关,我这里使用了GPIOA的PA8。

2024-11-30 19:22:51 1068

原创 stm32F103c8t6寄存器方式与标准库方式LED流水灯

例如,对于 GPIOA 端口,其引脚 PA0 - PA15 的输出电平设置分别对应 GPIOA_ODR 寄存器的第 0 - 15 位。以 GPIO 为例,数据手册会先给出 GPIO 外设的基地址,然后针对 GPIO 的各个寄存器(如配置寄存器 CRL、CRH,数据输出寄存器ODR 等)分别列出它们相对于基地址的偏移量。对于 GPIO 端口配置低寄存器(以 GPIOB 的 CRL 为例),它是一个 32 位寄存器,用于配置 GPIO 端口的低 8 位引脚(PB0 - PB7)的工作模式、输出速度等参数。

2024-11-20 22:43:18 1954

原创 Ubuntu20.04系统配置VSCode、C语言的编译及Makefile的应用

尤其是在使用 Makefile 进行编译时,感受到了它对于大型项目管理的优势,通过简单的规则定义就可以方便地编译整个项目,大大提高了编译效率,也让我意识到在复杂的软件开发中良好的项目构建工具的重要性。这次实验不仅提高了我的编程能力,也拓宽了我的知识面,让我对跨平台开发有了更清晰的认识,为今后的学习和实践打下了坚实的基础。总的来说,这次实验是一次非常有意义的学习过程,让我在实践中不断探索和学习新的知识,也让我对计算机系统和编程有了更深层次的理解。在此我选择的是g++编译器,因此我们需要下载g++

2024-11-13 21:50:04 1883

空空如也

空空如也

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

TA关注的人

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