- 博客(8)
- 收藏
- 关注
原创 FLASH的读写操作
这个实验让我意识到嵌入式系统开发中硬件资源管理的重要性,在今后学习其他芯片或者更复杂的嵌入式系统时,我会更加注重对硬件底层细节的研究,提前了解其资源限制以及对应的操作规范。在代码中,运行一次写入8KB数据,总计复位运行代码8次,将64KB数据写入Flash可以从watch窗口看见是能够写入的。重复写入多次后,从64kB即255位之后的0x08010000在memory窗口查看数据,发现查询不到保存的数据。将事先准备好的flash.c 及flash.h加入到工程中(flash.h文件放在Inc文件夹下即可)
2024-12-27 10:32:57
870
原创 STM32F103C8T6基于HAL库移植uc/OS-III
通过本次将 μC/OS-III 移植到 STM32F103 并创建多任务的实验,对嵌入式实时操作系统有了更深入的理解和实践经验。在移植过程中,深入了解了操作系统与硬件平台的紧密联系。处理器相关代码的编写,如任务切换和中断处理,是移植的关键部分,需要对硬件架构和操作系统的运行机制有清晰的认识。合理配置操作系统参数也至关重要,不同的参数设置会影响系统的性能、资源利用和任务调度的效果。在任务创建方面,掌握了如何定义任务堆栈、任务函数以及在操作系统中创建任务的流程。
2024-12-20 20:30:13
1010
原创 温湿度采集与OLED显示
I2C(Inter - Integrated Circuit)协议,也称为 I²C 或 IIC,是一种用于在集成电路之间进行通信的串行通信协议。以下是关于它的详细介绍:一、协议基本原理通信线路I2C 协议只使用两条双向串行线,一条是串行数据线(SDA),另一条是串行时钟线(SCL)。这两条线在连接多个设备(如微控制器、传感器、EEPROM 等)时是共享的。多个设备可以通过这两条线进行通信,就像在一条 “信息高速公路” 上的多个 “车辆”(设备)通过约定的规则来传递信息。主从设备关系在 I2C 网络
2024-12-13 16:43:46
510
原创 定时器与PWM
在涉及到多个任务且对时间要求较为严格的场景下,例如串口数据的定时发送和 LED 的精确闪烁周期控制,定时器能够按照设定的准确时间间隔触发相应的中断或回调函数,确保任务执行的时间准确性。特别是在一些小型单片机系统中,可能只有有限数量的定时器可供使用,因此需要权衡不同任务对定时器的需求,必要时可能需要采用软件模拟定时器的方式来解决资源不足的问题。例如,在一个简单的单片机系统中,可以利用一个变量记录已经过去的时间,在主循环中不断更新这个变量,当变量达到预设的时间间隔时,执行相应的任务。生成项目代码打开keil。
2024-12-10 13:26:06
666
原创 STM32串口通信
不接电源线,设备就无法获得正常工作所需的电能,相关的芯片、电路等都无法启动和运行,自然也就无法进行文件传输。因为文件传输需要各个电子元件处于正常的工作状态,在无电源驱动的情况下,如 CH340 芯片等无法进行信号的转换与处理等工作,进而导致传输无法进行。驱动主要分为2个功能,其一注册USB设备驱动,完成对USB设备的控制与数据通讯,其二注册串口驱动,为串口应用层提供相应的实现方法。同是5伏供电的话,ttl一般是1.7V和3.5V的样子,CMOS一般是2.2V,2.9V的样子,不准确,仅供参考。
2024-12-08 11:52:52
970
原创 STM32CubeMX使用HAL库点亮LED流水灯+Proteus8.15仿真
利用 Keil 的软件仿真逻辑分析仪功能以及在 Proteus 电路中加入示波器模块来观察 GPIO 端口的波形,在没有实际示波器时,软件仿真逻辑分析仪成为了跟踪管脚时序状态、分析高低电平转换周期,帮助我精准地判断代码是否按照预期控制硬件输出,方便定位代码中的故障点。在完成本次围绕 STM32 展开的一系列实验任务后,我收获颇丰,不仅对 STM32 的中断原理、HAL 库函数开发方法有了深入的理解,还在多个软件工具的使用以及代码管理方面积累了宝贵的经验。根据keil的设计代码,将对应引脚与LED进行连接。
2024-11-30 18:15:33
1776
原创 STM32C8T6寄存器方式与标准库方式流水灯
本次 STM32 控制 LED 流水灯实验是一次很有意义的实践学习过程,通过从硬件搭建到软件编程、调试的完整流程操作,不仅巩固了理论知识,更在实践中提升了自己的嵌入式开发能力,同时也认识到了自身存在的不足以及后续需要努力改进的方向,为今后进一步深入学习和开发更复杂的 STM32 嵌入式项目奠定了良好的基础。
2024-11-20 00:18:50
1663
原创 Ubuntu20.04系统配置VSCode、C语言的编译及Makefile的应用
请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;进入VScode,点击图中所示的扩展图标,在搜索栏里面搜索c++,将图中C/C++、C/C++ Extension Pack、C/C++ Themes、C/C++ Compile Run四个扩展包进行下载。准备完毕后,我们点击图中所示的标志新建一个文件,命名为“main.cpp”
2024-11-11 22:57:43
1865
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人