自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实时操作系统RTOS移植与多任务实现

按钮, 将文件目录跳转至: UCOSIII/uCLIB,选择 ALL files 文件类型,将其中的九个文件添加进 uCOSIII_LIB 组;按钮,将文件目录跳转至: UCOSIII/uC-CPU, 选择 ALL files 文件类型,将其中的三个文件点击 Add 添加, 然后再打开: ARM-Cortex-M4\RealView, 同样选择 ALL files 文件类型,将三个文件添加进 uCOSIII_CPU 组。按钮, 将文件目录调整至: UCOSIII/UcosIII/Source。

2025-11-03 19:51:42 1509

原创 STM32的OLED屏幕应用实例(利用U8g2库)

I2C(Inter-Integrated Circuit)协议仅需两根双向信号线,即可实现主设备与多个从设备的通信,这是其最核心的特点。I2C的通信过程严格遵循固定时序,所有设备必须按照时序规则收发数据,核心分为四个阶段。0.96寸OLED(有机发光二极管)屏幕是一种自发光显示器件,核心原理是通过有机材料在电场驱动下发光,无需背光,具有功耗低、对比度高、响应速度快的特点。0.96寸OLED通常支持I2C或SPI通信(通过引脚选择),由主控设备(如MCU)发送指令和数据:汉字属于非ASCII字符,无法直接用标

2025-11-01 22:56:16 696

原创 STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集

此次实验加深了对I2C的认识与了解,在进行温湿度实验时,总会遇到许多问题,在编译时头文件报错,后来看了几个博主的博客才有了后续进程,还有串口上没有发送数据等,这些问题都需要一定耐心去解决;总结下来,这实验从硬件到软件,把 I2C、传感器数据处理练了一遍,虽然过程挺折腾,但学会的这些东西,以后搞其他传感器也能用得上,蛮不错的.

2025-10-28 23:55:29 576

原创 STM32定时器进行串口通信与点灯以及使用PWM呼吸灯

定时器是 STM32 的核心外设,通过内部计数器对固定频率时钟信号计数,实现精确计时、事件触发等功能。其本质是 “硬件闹钟”,无需 CPU 持续轮询,定时时间到后通过中断通知 CPU 处理任务,可解放 CPU 资源用于其他操作,是实现多任务并发的关键组件。定时器本质就是进行计数,选择内部时钟脉冲,作为计数器时,技术信号的来源选择非周期脉冲信号.在stm32中,定时器可分为高级定时器、通用定时器、基本定时器三类:1.高级定时器:功能最少,只能充当基本的时基,甚至都没有外部引脚2.通用定时器:拥有基本定

2025-10-20 22:30:41 885

原创 STM32CubeMx,HAL库方式串口通信实验

回顾实验,我们实现了 STM32 向上位机连续发送 “hello windows!” 的基础功能,并观察到无延时连续发送时上位机存在数据丢失现象。这一现象的核心原因在于:STM32 的发送速率(由波特率决定)与上位机的接收缓冲区处理能力不匹配 —— 当数据涌入速度超过上位机缓冲区的清空速度时,溢出导致的数据丢失不可避免。为解决这一问题并扩展功能,实验进一步要求:通过上位机发送 “#” 暂停 STM32 发送、发送 “*” 恢复发送,且分别采用中断方式和DMA 方式实现。

2025-10-19 17:41:28 1827

原创 Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的内存分配问题

本次实践最直观的收获,是将课本中 “堆、栈、全局 / 局部变量” 的抽象概念,转化为可观测的地址数据,彻底打破了对内存分配的模糊认知。在配置,编写时经常遇到问题,从基础做好,一步步找出错误,在本次实践中,最大还是耐心,同时,在遇到问题时,ai是一个非常好的解决方法,可以合理的运用ai来排查并且修改已知的错误.本次实验,无论是 Ubuntu 还是 STM32,变量的地址分配都不是 “随机行为”,而是由 “硬件架构设计” 与 “系统 / 编译器内存管理规则” 共同决定的。

2025-10-11 22:48:56 879

原创 Ubantu----用GCC生成静态库以及动态库以及对GCC背后的了解

在练习静态库、动态库生成后,我从 “只懂理论概念” 过渡到 “能熟练操作”。刚开始对着教程敲命令时,还只是机械执行步骤:生成静态库时,先通过gcc -c把功能源码(如 main1.c、sub1.c等)编译成.o 目标文件,再用ar rcs打包成 libnb.a,最后链接主程序得到可执行文件,全程没太琢磨命令背后的逻辑。​。

2025-10-11 16:57:49 935

原创 嵌入式---运用HAL库完成流水灯程序,并用Proteus绘制原理图和进行仿真

摘要:本文介绍了基于STM32 HAL库的流水灯实验与中断控制实现。首先通过CubeMX创建STM32F103C8T6工程,配置GPIO引脚并生成代码,使用Keil5编写流水灯控制程序。随后扩展为中断控制模式,通过GPIOA7引脚接入开关实现流水灯启停控制,说明了中断回调函数的编写方法。最后利用Proteus绘制原理图并进行仿真。实验结果表明,HAL库能有效提高开发效率,简化外设操作,同时展示了Proteus在嵌入式开发调试中的实用价值。

2025-10-08 20:10:08 747

原创 嵌入式----运用寄存器&标准库完成LED流水灯程序

注:开发板选用的是stm32f103c8t6打开Keil5,点击上方project选项创建新工程保存文件至对应文件夹.随后并在此处选择开发板型号stm32f103c8t6,如图此处为工程小助手,直接关闭即可然后添加一些工程文件特别注意,这些文件是下载Keil5时带的,每个人存放位置不同,找不到时候可以在下载的keil文件夹里面去搜索.将以上文件复制并粘贴至创建的keil工程里面,最好新建一个文件夹来装这些文件,我床的文件夹名为start,后续会用到,随后打开keil工程在工程选项

2025-09-26 19:03:56 1829

原创 Ubantu系统下使用C语言编写Helloworld以及使用gcc和Makefile编译C程序

通过这几天对ubantu系统的学习与接触,对其已经有了很大的了解,同时,使用了gcc与Makefile两种方式进行编译。gcc这种基础的编译方式,让我比较了解到c语言程序如何转化成可执行文件的过程,更为基层,在编写程序是也出现了各种各样的问题,怎么用makefile的方式编写,如何更改文件权限才能进行编写与修改,通过查找优快云,以及向周边同学请教,让我收益颇丰。前方道路还很长,仍需静下心来,慢慢区探索,慢慢去钻研。1.创建main2.c以及sub2.c的文件,代码与main1.c和sub1.c一致。

2025-09-21 16:42:47 569 2

空空如也

空空如也

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

TA关注的人

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