- 博客(18)
- 收藏
- 关注
原创 3.Linux使用终端设置IP地址 和 连接WIFI
在Linux嵌入式开发场景中,经常会遇到设置IP地址的场景,但是往往都是通过串口与开发板进行交互,所以介绍一个如何使用终端配置IP地址。我使用的Linux开发板是香橙派Pi 2 ZERO 就以此举例。
2025-12-31 00:18:48
136
原创 2.Linux开发板、树莓派、香橙派等安装VNC远程桌面
VNC(Virtual Network Computing)是一套 “把整台电脑的屏幕变成像素流,通过网络送到另一台电脑” 的协议/软件组合。它的核心思想极其简单:把服务器端的屏幕像素切成小方块,压缩后通过网络帧帧发送到客户端;客户端只负责解压、拼回画面,再把鼠标键盘事件原路返回。因为传输的是纯位图,服务器是 Windows、macOS 还是 ARM 版 Linux 都无所谓,只要运行对应的 VNC Server,就能被任何平台的 Viewer 打开,实现真正的跨平台远程桌面。
2025-12-30 22:29:42
431
原创 1.Ubuntu虚拟机的网络图标消失,Ubuntu虚拟机无法上网,怎么解决?
这种情况通常由NetworkManager配置错误或状态文件损坏引起,可通过删除NetworkManager状态文件并修改配置文件为managed=true后重启服务解决。恢复的办法很简单,几个命令就搞定!在使用Ubuntu虚拟机的时候时常会遇见Ubuntu的网络图标消失了,尤其是在暂停虚拟机之后电脑关机或者睡眠,再次恢复虚拟机时发现网络用不了了,网络的图标消失不见了。编辑/etc/NetworkManager/NetworkManager.conf,确保managed=true。
2025-10-10 15:44:57
485
原创 STM32HAL库 -- 10.DMA外设实战(UART串口+DMA读取传感器数据)
这个文章会介绍SHM32的DMA,并使用DMA和UART读取传感器数据。以sp70c毫米波雷达举例。笔者使用的是STM32F103ZET6的开发板。DMA(Direct Memory Access,直接存储器访问)是STM32微控制器中的一个重要外设,它允许在外设(如ADC、USART、SPI等)和存储器之间,或者存储器和存储器之间直接传输数据,而无需CPU的干预。这样可以显著提高数据传输的效率,减轻CPU的负担,使得CPU可以执行其他任务。
2025-08-09 17:29:32
1219
原创 QT项目 -- 1.记事本项目
这是一个记事本的项目,在哔哩哔哩上QT上官可编程那里学到的。有些代码 与 老陈写的不一样。这个小项目可以学习到UI界面、QT的信号与槽机制、一些控件、文件读写、事件重写等等。
2025-07-28 20:45:18
466
2
原创 STM32HAL库 -- 9.IIC通信 软件IIC与硬件IIC驱动0.96寸OLED屏幕
本文介绍了IIC通信协议及其实现方式。IIC是一种由Philips公司开发的双线制同步串行通信协议,包含SDA(数据线)和SCL(时钟线),采用开漏输出结构需外接上拉电阻。文章详细解析了IIC的基本时序单元(起始/停止条件、字节传输、应答信号)和典型通信流程(地址帧、重复起始条件等),并对比了软件IIC和硬件IIC的优缺点。重点展示了基于STM32的软件IIC实现代码,包括GPIO初始化、起始/停止信号生成、应答检测等核心功能模块,最后提到硬件IIC代码将在后续补充。全文以正点原子精英版开发板为平台,旨在提
2025-06-23 20:53:24
1873
8
原创 STM32HAL库 -- 8.串口UART通信并开启printf功能
本文介绍了STM32单片机通过串口与电脑通信的实现方法。主要内容包括:1.串口通信基础概念,包括UART协议的数据帧结构(起始位、数据位、校验位、停止位)和通信参数设置;2.STM32F103的USART模块特点,对比UART与USART的区别;3.HAL库中关键UART操作函数的使用方法,如初始化、发送接收数据、中断处理等;4.具体实现步骤:配置USART1硬件(PA9/PA10引脚)、初始化设置115200波特率、重定向printf函数、编写中断服务程序实现数据收发;5.通过串口调试助手验证通信功能,成
2025-06-22 19:22:19
1137
原创 C语言数据结构 -- 1.循环队列
队列是一种先进先出(FIFO)的线性数据结构,数据从队尾加入,从队首移除。循环队列是队列的优化实现,通过将存储空间视为环形结构,重复利用出队后释放的空间。文章详细介绍了如何使用C语言实现循环队列,包括数据结构的定义、队列的创建与销毁、入队与出队操作,以及判断队列是否为空或满的函数实现。还提供了完整的代码示例,包括头文件、实现文件和主测试文件,展示了如何创建、测试和销毁循环队列的过程。通过代码实现,可以清晰地理解循环队列的工作原理及其在编程中的应用。
2025-05-12 21:55:45
1183
原创 STM32HAL库 -- 7.按键中断控制LED灯和蜂鸣器
通过上一个博客介绍的中断系统,来实现按键中断的的实验。笔者使用的开发板是STM32F103ZET6为MCU的正点原子精英板,读者可以使用自己的开发板来复现实验。开发板不是重点,重点是学习HAL库的使用。STM32HAL库 -- 6.中断系统。
2025-04-29 17:31:17
2453
原创 STM32HAL库 -- 6.中断系统
在嵌入式系统中,中断是一种非常重要的机制,它允许处理器在特定事件发生时暂停当前任务,转而执行相应的中断服务程序(ISR)。STM32 的中断系统由嵌套向量中断控制器(NVIC)和外部中断/事件控制器(EXTI)组成。本文将详细介绍 STM32 的中断系统、NVIC 和 EXTI。嵌套向量中断控制器(Nested Vectored Interrupt Controller,NVIC)在 STM32 微控制器中扮演着核心的中断管理角色。
2025-04-28 22:05:10
1273
原创 STM32HAL库 -- 5.蜂鸣器报警
通过上一个博客介绍的HAL库操作GPIO的函数,来实现蜂鸣器的的实验。笔者使用的开发板是STM32F103ZET6为MCU的正点原子精英板,读者可以使用自己的开发板来复现实验。开发板不是重点,重点是学习HAL库的使用。STM32HAL库 -- 1.手把手创建HAL库工程模板STM32HAL库 -- 2.介绍外设GPIOSTM32HAL库 -- 3.介绍HAL库中操作GPIO的函数。
2025-04-22 14:28:51
3410
原创 STM32HAL库 -- 4.LED流水灯
LED(Light Emitting Diode),即发光二极管,是一种能够将电能转化为可见光的半导体器件。LED的核心部分是由P型半导体和N型半导体组成的晶片,在P型半导体和N型半导体之间有一个过渡层,称为PN结。当电流通过导线作用于这个晶片时,电子和空穴在PN结复合,能量以光子的形式释放出来,从而发出光芒。不同材料的半导体可以发出不同颜色的光,导通压降也不同。
2025-04-21 16:08:09
2559
原创 STM32HAL库 -- 2.介绍外设GPIO
GPIO(General Purpose Input/Output)是STM32微控制器中最基本的外设之一,用于控制外部设备,或者进行采集信息的外设,即进行数字信号的输入和输出。每个GPIO引脚都可以配置为输入或输出,并且可以设置为多种模式,如推挽输出、开漏输出、模拟输入等。这个外设按组分配,我们经常会看到GPIOA,GPIOB...这样的字眼,这个就是GPIO的A组,B组。每组最多有16个引脚,比如GPIO_PIN_1,GPIO_PIN_2,就是对应的GPIO引脚。
2025-04-14 01:15:40
1064
原创 Linux文件IO -- 2.关闭文件close函数详解
在Linux系统中,close() 函数用于关闭一个已打开的文件描述符(File Descriptor),释放相关资源。它是Unix/Linux文件I/O操作的核心函数之一,属于POSIX标准接口。
2025-04-13 11:32:54
812
原创 STM32HAL库 -- 1.手把手创建HAL库工程模板
该文章主要介绍如何创建基于HAL库的MDK-ARM工程模板,方便以后开发新的项目时,不用再重新创建工程,直接复制本工程即可。笔者使用的STM32开发板是正点原子的精英板,该开发板使用的MCU型号是STM32F103ZET6,因此创建的工程模板也是基于STM32F103ZE。
2025-04-10 22:36:10
1732
原创 Linux文件IO -- 1.打开文件open函数详解
在Linux系统中,open() 是一个用于打开或创建文件的底层系统调用,它是文件I/O操作的核心函数之一,常用于获取文件描述符(file descriptor),以便后续对该文件进行的读写操作。
2025-04-09 21:50:08
1427
STM32HAL库 - 9.IIC通信 软件IIC与硬件IIC驱动0.96寸OLED屏幕
2025-07-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅