- 博客(8)
- 收藏
- 关注
原创 STM32F103C8T6:汇编启动文件调用 C 函数 add()
本文介绍了在Keil MDK-ARM(μVision5)环境下为STM32F103C8T6创建包含汇编启动文件调用C函数的工程模板。主要步骤包括:1)建立合理目录结构;2)创建Keil工程并配置CMSIS组件;3)编写汇编主文件(main.s)实现参数传递和C函数调用;4)实现C函数add();5)设置编译器/链接器选项。重点说明了AAPCS调用规范的使用,以及如何通过汇编设置参数(R0/R1)、调用C函数(BL add)并处理返回值(R0)。该模板可用于嵌入式开发中混合编程场景,为后续外设驱动开发奠定基础
2025-08-29 15:12:16
289
原创 Linux 有名管道(FIFO)极简双向聊天示例
把上表贴在代码注释或 README 中,即可随时速查 Linux FIFO 的完整系统调用接口。writer.c —— 只写 FIFO,把用户键盘输入实时发出去。reader.c —— 只读 FIFO,把收到的内容打印到终端。把原来的“父子进程匿名管道”改成。:创建两条 FIFO(
2025-08-19 19:13:13
825
原创 Linux C 进程间通信:无名管道 彻底搞懂 pipe() 一
在 Linux 中,管道是最古老、最简单的 IPC(Inter-Process Communication)机制。它在内核里开辟一段环形缓冲区fd[0]—— 只读端fd[1]—— 只写端半双工:数据只能单向流动。亲缘关系:只能在父子、兄弟等具有亲缘关系的进程间使用。字节流:没有消息边界,写进去的是字节流,读出来也是字节流。阻塞规则读端:缓冲区为空 →read()阻塞,直到有数据;所有写端关闭 →read()立即返回0(EOF)。写端:缓冲区满 →write()阻塞;
2025-08-19 18:04:47
283
原创 RT-Thread 信号量(Semaphore)使用详解
RT-Thread信号量机制解析:本文介绍了RT-Thread中信号量的三种类型(二值信号量、计数信号量和互斥信号量)及其应用场景。通过两个典型示例展示了信号量的使用:二值信号量实现线程同步控制LED闪烁,计数信号量模拟停车场车位管理。详细讲解了信号量相关API函数,包括创建、获取、释放等操作,并提供了完整的代码实现。示例演示了信号量在资源管理和线程同步中的实际应用,帮助开发者理解RT-Thread多任务环境下共享资源的安全访问机制。
2025-08-07 17:28:24
529
原创 RT-Thread 动态线程点灯实验笔记
本文介绍了在RT-Thread实时操作系统中动态创建线程控制LED闪烁的实现方法。通过定义LED引脚(PE7),配置线程参数(512字节栈大小、优先级25),编写线程入口函数实现500ms间隔的LED亮灭控制。使用rt_thread_create()动态创建线程并启动,主线程可保持空闲或执行其他任务。实验现象为1Hz频率的LED闪烁,可通过ps命令查看线程状态。文中还分析了LED不亮、线程未启动等常见问题的排查方法,并建议可通过静态线程、命令行控制或信号量同步等方式进行功能扩展。该示例展示了RT-Threa
2025-08-06 14:56:47
514
原创 STM32F103C8T6 I2C 通信实现文档
1. GPIO配置作用:配置I2C引脚为开漏复用模式理论:I2C总线需要开漏输出配合上拉电阻实现线与逻辑信号STM32引脚说明SCLPB6时钟线,开漏输出SDAPB7数据线,开漏输出/*** @brief I2C GPIO配置* @param 无* @retval 无* @note 配置PB6(SCL)和PB7(SDA)为开漏复用模式*//* 1. 使能GPIOB时钟 *//* 2. 配置I2C引脚参数 */// 开漏复用模式// 高速模式。
2025-08-01 16:47:49
1566
原创 lwprintf stmf103c8ct 移植
针对嵌入式系统优化的轻量级 printf 库,ROM 占用只有几 KB,支持线程安全、多路输出流,非常适合 STM32F103C8T6 这类 64 kB Flash / 20 kB SRAM 级别的芯片。克隆官方仓库git clone https://github.com/MaJerle/lwprintf.git。一套用 C11 写的、专门面向嵌入式系统轻量级 printf 实现,标准。加入 include 路径。启用一个 UART(示例用。
2025-07-29 21:08:40
253
原创 数组 保存学生的成绩
使用数组保存输入的数据,当输入完毕后输出数据代码如下#include <stdio.h>int main(){ int iarray[3],i;//定义数组的变量,注意iarray后3是用【】括起来的 printf("请输入语文、数学、英语的成绩:\n"); //提示输入成绩 for(i=0;i<3;i++){ scanf("%d",&iarray[i]);//依次输入数组个数 } printf("\n语文、数学、英语的成
2021-10-29 22:49:55
2617
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅