<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ooolips的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ooolips</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ooolips]]></copyright><item><title><![CDATA[树莓派与嵌入式系统实验报告]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/148774423</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/148774423</guid><author>ooolips</author><pubDate>Thu, 19 Jun 2025 20:30:02 +0800</pubDate><description><![CDATA[编译工具链关键要点跨平台编译需严格匹配目标架构（如树莓派 ARM、Android aarch64），通过--host参数指定。动态库依赖管理是打包核心，lddcp -L可自动收集所有依赖文件。GPIO 编程注意事项树莓派 GPIO 引脚仅支持 3.3V 电平，避免直接连接 5V 设备以防烧毁。程序结束时必须调用，否则可能导致引脚状态锁定。]]></description><category></category></item><item><title><![CDATA[树莓派实验实践记录与技术分析]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/148774237</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/148774237</guid><author>ooolips</author><pubDate>Thu, 19 Jun 2025 20:11:51 +0800</pubDate><description><![CDATA[超声波测距易受环境噪声、温度变化影响，且需实时更新距离数据，卡尔曼滤波可通过系统状态预测与修正，提供更稳定的测量结果。| Echo | 回声信号 | 需通过 1kΩ+2kΩ 电阻分压后接 BCM24（输入模式），防止 5V 信号烧毁 GPIO |等新接口后编译通过，但装载内核时无法调用 PWM 资源，推测是设备树未正确声明 PWM 控制器导致。| Vcc | 电源正极 | 接树莓派 5V 引脚，避免独立供电 || Trig | 触发信号 | 接 BCM23（输出模式） |等函数已被新版内核废弃。]]></description><category></category></item><item><title><![CDATA[Vmware虚拟机安装Ubuntu20.4系统及QEMU模拟ARM64 Linux]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/147374895</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/147374895</guid><author>ooolips</author><pubDate>Sun, 20 Apr 2025 20:22:47 +0800</pubDate><description><![CDATA[启动失败：若新内核无法启动，重启选择旧内核进入系统，检查编译配置或日志（`/var/log/kern.log）。-根文件系统挂载失败：检查镜像格式（需为Ext4）及内核配置（启用`CONFIG_BLK_DEV_SD`）。（需创建`/etc/inittab`和`/etc/init.d/rcS`配置文件，设置初始化脚本）。-更新引导：`sudo update-grub`，重启后通过`uname -r`验证新内核版本。-依赖缺失：如编译报错`libelf-dev not found`，需安装对应包。]]></description><category></category></item><item><title><![CDATA[守护进程编程]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/147341505</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/147341505</guid><author>ooolips</author><pubDate>Fri, 18 Apr 2025 22:44:45 +0800</pubDate><description><![CDATA[守护进程（Daemon） 是在后台运行的一种特殊进程，脱离终端控制，通常用于提供系统服务（如 HTTP 服务、数据库服务）。其特点包括：1.生命周期长，随系统启动/关闭。2.无控制终端，输出不直接显示到屏幕。3.通常在系统启动时通过脚本启动。编程实现步骤：1.调用 fork() 创建子进程，父进程退出：脱离终端控制。2.调用 setsid() 创建新会话：成为会话组长和进程组长。3.忽略 SIGHUP 信号：防止会话终止影响守护进程。]]></description><category></category></item><item><title><![CDATA[温湿度采集与OLED显示]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/139917648</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/139917648</guid><author>ooolips</author><pubDate>Mon, 24 Jun 2024 10:30:44 +0800</pubDate><description><![CDATA[这种方法通常使用GPIO引脚进行通信，通过编程控制GPIO引脚的高低电平来模拟数据线和时钟线，从而实现I2C通信。软件I2C在一些资源受限的系统中或者没有硬件I2C接口的情况下非常有用，但通常速度较慢，稳定性也不如硬件I2C。硬件I2C则是通过专门的I2C控制器硬件实现的I2C通信协议。这种方法使用专门的硬件电路来实现I2C通信，通常具有更高的速度和稳定性，更适合在需要高速传输或者对稳定性要求较高的场合使用。总的来说，软件I2C适用于一些简单或者资源受限的系统，而硬件I2C适用于需要高性能和稳定性的系统。]]></description><category></category></item><item><title><![CDATA[基于I2C协议的OLED显示(利用U82G库)]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/139726898</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/139726898</guid><author>ooolips</author><pubDate>Sun, 16 Jun 2024 21:52:01 +0800</pubDate><description><![CDATA[提供丰富的图形显示功能，包括文字显示、图形绘制、位图显示等；支持多种显示设备类型，如LCD、OLED等，以及多种控制器，如SSD1306、ST7920等；轻量级且易于移植，适用于各种嵌入式平台。]]></description><category></category></item><item><title><![CDATA[uc/OS-III多任务程序]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/139565541</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/139565541</guid><author>ooolips</author><pubDate>Sun, 09 Jun 2024 20:13:07 +0800</pubDate><description><![CDATA[链接：https://pan.xunlei.com/s/VNzqW98xRWobgoeRTH5w6kVgA1#首先，确保已经安装好了适用于STM32F103的开发环境，包括Keil或者STM32Cube.编译工程，并将程序下载到STM32F103开发板中进行测试。1.打开CubeMX，找到STM32F103C8T6芯片。分享文件：UCOS-III.zip。2.RCC、SYS配置。5.获取源码进行配置。6.生成keil项目。]]></description><category></category></item><item><title><![CDATA[定时器与PWM的LED控制]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/139378130</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/139378130</guid><author>ooolips</author><pubDate>Sat, 01 Jun 2024 21:59:00 +0800</pubDate><description><![CDATA[在实际应用中，PWM的频率可以根据具体的需求进行设定，常见的PWM频率范围为几十赫兹到几千赫兹不等。这段代码中，`MX_GPIO_Init`函数初始化了GPIOA的0号引脚，模式设置为`GPIO_MODE_AF_PP`，这正是复用推挽输出模式，允许PWM波形通过该引脚输出。//依次将定时器的CCR寄存器设置为0~100，PWM占空比逐渐增大，LED逐渐变亮。//依次将定时器的CCR寄存器设置为100~0，PWM占空比逐渐减小，LED逐渐变暗。// 在这里可以改变PWM的占空比，实现呼吸灯效果。]]></description><category></category></item><item><title><![CDATA[HAL库LED点灯]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/139219273</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/139219273</guid><author>ooolips</author><pubDate>Sun, 26 May 2024 20:05:50 +0800</pubDate><description><![CDATA[将代码写入此处，烧录即可。]]></description><category></category></item><item><title><![CDATA[中断编程入门]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/139044067</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/139044067</guid><author>ooolips</author><pubDate>Sun, 19 May 2024 20:43:53 +0800</pubDate><description><![CDATA[在中断服务函数中，检测GPIOB引脚的状态，根据高低电平控制LED的亮灭。在这个代码中，使用串口中断方式实现了接收到字符"S"停止发送"hello windows!"，接收到字符"T"持续发送"hello windows!内容2：如果完成后，尝试在main函数while循环中加入一个串口每隔1s 发送一次字符的代码片段，观察按键中断对串口发送是否会带来干扰或延迟。在这个代码中，配置了一个外部中断线（EXTI0），当GPIOB引脚接收到下降沿信号时，会触发中断，并在中断服务函数。函数中是一个简单的主循环。]]></description><category></category></item><item><title><![CDATA[stm32串口通信入门]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/138764456</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/138764456</guid><author>ooolips</author><pubDate>Sun, 12 May 2024 23:16:26 +0800</pubDate><description><![CDATA[1） 了解串口协议和RS-232标准，以及RS232电平与TTL电平的区别2）了解"USB/TTL转232"模块（以CH340芯片模块为例）的工作原理。]]></description><category></category></item><item><title><![CDATA[STM32F103的LED亮灭之版本1(寄存器地址版)]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/138469878</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/138469878</guid><author>ooolips</author><pubDate>Sun, 05 May 2024 18:52:22 +0800</pubDate><description><![CDATA[1）下载Keil软件，安装stm32库，以及STM32F10xxx参考手册官网（）下载所需的pack ：ARM.CMSIS.3.20.4、Keil.STM32F1xx_DFP.1.0.4stm32包，这里附带配置MDK所需要的的包。密码：18tr。]]></description><category></category></item><item><title><![CDATA[单片机定时器与串口通信]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/138007288</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/138007288</guid><author>ooolips</author><pubDate>Sat, 20 Apr 2024 20:18:36 +0800</pubDate><description><![CDATA[利用中断发出1Khz的方波信号，驱动蜂鸣器鸣叫。]]></description><category></category></item><item><title><![CDATA[单总线温度采集]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/137925041</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/137925041</guid><author>ooolips</author><pubDate>Thu, 18 Apr 2024 17:24:33 +0800</pubDate><description><![CDATA[通过这两个步骤的实验，可以验证通信时序的重要性，并了解时序错误对通信的影响。这有助于加深对DS18B20通信协议的理解，并提高对总线通信的应用能力。]]></description><category></category></item><item><title><![CDATA[中断与定时计数]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/137474549</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/137474549</guid><author>ooolips</author><pubDate>Sun, 07 Apr 2024 21:25:16 +0800</pubDate><description><![CDATA[AT89C51单片机中断原理是指单片机在执行程序时，可以根据外部事件的发生情况来中断当前程序的执行，转而执行相应的中断服务程序。AT89C51单片机中断原理包括以下几个方面：1. 中断源：AT89C51单片机具有多个中断源，如外部中断、定时器/计数器中断、串行通信中断等。当某个中断源满足触发条件时，会向单片机发送中断请求信号。2. 中断向量表：AT89C51单片机中断向量表存储了每个中断源对应的中断服务程序的入口地址。]]></description><category></category></item><item><title><![CDATA[第4周实验---汇编程序与周期性任务设计]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/136992127</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/136992127</guid><author>ooolips</author><pubDate>Sun, 24 Mar 2024 19:47:44 +0800</pubDate><description><![CDATA[查阅汇编指令 “MOV R6,#250”和“DJNZ R6,D2”的指令周期数，计算其对应的时钟周期 us值；然后计算 Delay函数的总的循环次数和对应的时钟周期总数us， 说明这个LED灯大约每隔多少毫秒(ms)或秒（s）才变化一次亮灭状态在计算机体系结构中，指令周期数是指完成一条指令所需的时钟周期数。其中，时钟周期数是指一条指令的执行需要的时钟周期数，时钟周期时间是指每个时钟周期的持续时间。通常情况下，指令周期数越小，表示计算机执行指令的效率越高。计量运行时间在1s左右。]]></description><category></category></item><item><title><![CDATA[基于SDCC和Edsim51的代码仿真]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/136767660</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/136767660</guid><author>ooolips</author><pubDate>Sat, 16 Mar 2024 19:28:35 +0800</pubDate><description><![CDATA[1）SDCC官方网站 ()下载2） Edsim51官方网站 ()下载也可以自行在网上寻找安装方式。]]></description><category></category></item><item><title><![CDATA[51单片机架构与汇编指令]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/136605185</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/136605185</guid><author>ooolips</author><pubDate>Sun, 10 Mar 2024 18:18:34 +0800</pubDate><description><![CDATA[（1）安装Proteus软件并打开建立工程（2）按下列步骤创立工程（3）直至建立工程即可。]]></description><category></category></item><item><title><![CDATA[3-8译码器与全加器]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/135049374</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/135049374</guid><author>ooolips</author><pubDate>Sun, 17 Dec 2023 20:44:07 +0800</pubDate><description><![CDATA[逻辑真值表如下：实现 3-8 译码器功能的 Verilog 代码形式也有很多种，我们这里主要列举两种最容易理解的方法：1）if-else方法2）case方法。]]></description><category></category></item><item><title><![CDATA[使用与非门搭建基本RS、D触发器]]></title><link>https://blog.youkuaiyun.com/ooolips/article/details/134534476</link><guid>https://blog.youkuaiyun.com/ooolips/article/details/134534476</guid><author>ooolips</author><pubDate>Tue, 21 Nov 2023 16:24:11 +0800</pubDate><description><![CDATA[RS锁存器是时序电路中最基础的，所以务必学的透彻。（注：有些资料上把RS锁存器也称为RS触发器） RS锁存器，我们可以简单将它理解为一个存储单元，可以存储一位数据（0或者1）。基本的RS锁存器可以用两个与非门或者或非门实现，这里我们使用与非门输入信号R、S的作用方式：对低电压有效其逻辑功能表如下：其logsim进行仿真如下图（左边连两个输入即可）R-S触发器结论：(1) 不论现态是什么在R端施加低电平能将现态强制性地转换到“0”态;在S端施加低电平能将现态强制性地转换到“1”态;]]></description><category></category></item></channel></rss>