<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[2501_91650731的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/2501_91650731</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; 2501_91650731]]></copyright><item><title><![CDATA[ARM-UART串口通信]]></title><link>https://blog.csdn.net/2501_91650731/article/details/166490929</link><guid>https://blog.csdn.net/2501_91650731/article/details/166490929</guid><author>2501_91650731</author><pubDate>Wed, 23 Sep 2026 19:28:59 +0800</pubDate><description><![CDATA[TX_DATA] b0-7:需要发送的数据，当软件向 TX_DATA 字段执行写入操作时，UART 硬件会自动开始一个新字符的发送过程。[RXDMUXSEL] b2：注意: 在此芯片中，UART 工作于多路复用 (MUXED) 模式，因此此位应始终设置为 1。（3）UART Control Register 1 (Uart 控制寄存器1)（4）UART Control Register 2 (Uart 控制寄存器2)（5）UART Control Register 3 (Uart 控制寄存器3)]]></description><category></category></item><item><title><![CDATA[ARM-定时器]]></title><link>https://blog.csdn.net/2501_91650731/article/details/166490907</link><guid>https://blog.csdn.net/2501_91650731/article/details/166490907</guid><author>2501_91650731</author><pubDate>Wed, 23 Sep 2026 19:26:56 +0800</pubDate><description><![CDATA[实时时钟(RTC real time clock)： 是微处理器中的一个功能模块，用于在系统主电源关闭的情况下，继续提供精确的日历和时间信息。定时器 (EPIT GPT)：是一个通过对已知频率的时钟信号进行计数，来实现定时、延时或事件计数功能的硬件模块或软件机制。(3)配置PLL为1056，注意设置倍频因子之前先把PLL之后的二分频设置好，避免ARM内核故障！(2)再将PLL1的输出改成step_clk，让ARM暂时工作在24MHz;(1)先选择osc_clk，让step_clk为24MHz。]]></description><category></category></item><item><title><![CDATA[ARM-按钮与中断]]></title><link>https://blog.csdn.net/2501_91650731/article/details/166141895</link><guid>https://blog.csdn.net/2501_91650731/article/details/166141895</guid><author>2501_91650731</author><pubDate>Sun, 20 Sep 2026 22:14:44 +0800</pubDate><description><![CDATA[DSE(驱动能力)3:            000    //DSE_0_output_driver_disabled_ — output driver disabled;PUS(上拉或者下拉)2:        11    // PUS_3_22K_Ohm_Pull_Up — 22K Ohm Pull Up。这些独有的中断肯定是要指定的核心处理，因此这些中断就叫做私有中断；（1）中断:CPU能打断当前正在进行的工作，去处理更为紧急的任务，并且在处理完中断任务后，能回到原先的地方继续工作。]]></description><category></category></item><item><title><![CDATA[ARM-复用寄存器以及电气寄存器深化-蜂鸣器]]></title><link>https://blog.csdn.net/2501_91650731/article/details/166141818</link><guid>https://blog.csdn.net/2501_91650731/article/details/166141818</guid><author>2501_91650731</author><pubDate>Sun, 20 Sep 2026 22:12:10 +0800</pubDate><description><![CDATA[(2).完整开发工具就是一个IDE, 集代码编写、编译、下载于一体的集成开发环境, 类似于keil这种工具，要是用这个需要额外购买一些设备如下载器、编程器、仿真器。2.拷贝led_c内的start.S main.c Makefile到新工程。ldr sp, =0x82000000 //定义栈顶指针。ldr sp, =0x84000000 //定义栈顶指针。cpsid i  //关掉IRQ的中断开关。cpsid f  //关掉FIQ的中断开关。路径：IMAX6ULL/SDK/]]></description><category></category></item><item><title><![CDATA[ARM-点亮第一颗LED]]></title><link>https://blog.csdn.net/2501_91650731/article/details/166141669</link><guid>https://blog.csdn.net/2501_91650731/article/details/166141669</guid><author>2501_91650731</author><pubDate>Sun, 20 Sep 2026 22:06:25 +0800</pubDate><description><![CDATA[属于编译流程的编译阶段（核心阶段）。(1)拷贝 gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz 到/usr/local/arm。(2)解压 sudo tar -xvf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz。(3)删除 sudo rm gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz。]]></description><category></category></item><item><title><![CDATA[51单片机-外设温度计（DS18B20）知识总结]]></title><link>https://blog.csdn.net/2501_91650731/article/details/166141403</link><guid>https://blog.csdn.net/2501_91650731/article/details/166141403</guid><author>2501_91650731</author><pubDate>Sun, 20 Sep 2026 21:56:29 +0800</pubDate><description><![CDATA[外设温度计通常指通过单片机等主控芯片外接的温度传感器，用于实时采集环境或物体温度。在嵌入式开发中，DS18B20 是最常用的数字温度传感器之一，它采用单总线通信协议，只需一根数据线即可完成与主控的通信，接线简单、成本低廉，广泛应用于工业控制、智能家居、环境监测等场景。DS18B20 是一款单总线的数字温度传感器，可以采集 9 到 12 bit 的温度数据，并支持设置温度上下限报警。它内部集成了温度采集、模数转换和通信逻辑，主控芯片只需通过单总线协议即可读取温度值。测温范围：-55 ℃ 到 +125 ℃。]]></description><category></category></item><item><title><![CDATA[51 单片机-串口通信]]></title><link>https://blog.csdn.net/2501_91650731/article/details/165627573</link><guid>https://blog.csdn.net/2501_91650731/article/details/165627573</guid><author>2501_91650731</author><pubDate>Wed, 16 Sep 2026 19:57:29 +0800</pubDate><description><![CDATA[串口通信（UART，Universal Asynchronous Receiver/Transmitter，串行异步收发器）是单片机与单片机之间、或单片机与其余主控之间进行通信的常用方式。它通过一根数据线逐位传输数据，实现设备之间的信息交换。串口通信看似简单，但背后离不开时钟系统的支撑。从波特率的生成、数据位的采样，到收发双方的同步，时钟贯穿始终。理解时钟与串口的关系，不仅能帮助我们正确配置硬件，还能在遇到通信异常时快速定位问题。]]></description><category></category></item><item><title><![CDATA[51单片机-按键LED-数码管定时]]></title><link>https://blog.csdn.net/2501_91650731/article/details/165627247</link><guid>https://blog.csdn.net/2501_91650731/article/details/165627247</guid><author>2501_91650731</author><pubDate>Wed, 16 Sep 2026 19:43:12 +0800</pubDate><description><![CDATA[本实验完整演示了51单片机按键输入、LED输出、定时器中断和数码管动态显示的综合应用。晶体管作为功率驱动器件，在数码管位选和LED驱动中起到关键的电流放大作用。通过定时器中断实现精确的时序控制，配合按键输入实现人机交互，是单片机嵌入式开发的基础技能。]]></description><category></category></item><item><title><![CDATA[51单片机-中断-晶体管]]></title><link>https://blog.csdn.net/2501_91650731/article/details/165626677</link><guid>https://blog.csdn.net/2501_91650731/article/details/165626677</guid><author>2501_91650731</author><pubDate>Wed, 16 Sep 2026 19:35:24 +0800</pubDate><description><![CDATA[模块关键点说明中断概念实时处理CPU 暂停当前工作，转去处理紧急事件，处理完再返回中断流程六步处理请求 → 屏蔽检查 → 优先级判断 → 保护现场 → 执行服务函数 → 恢复现场IE 寄存器中断允许EX0 控制外部中断 0，ET0 控制定时器 0，EA 为总开关TCON 寄存器标志与触发IE0 为外部中断 0 标志，IT0 控制触发方式（电平 / 下降沿）中断优先级8 个中断源，4 个优先级，支持两层嵌套保护现场硬件资源。]]></description><category></category></item><item><title><![CDATA[【51 单片机入门】点亮第一个 LED｜模块化编程 led.c（完整源码 + 踩坑）]]></title><link>https://blog.csdn.net/2501_91650731/article/details/165625994</link><guid>https://blog.csdn.net/2501_91650731/article/details/165625994</guid><author>2501_91650731</author><pubDate>Wed, 16 Sep 2026 19:10:32 +0800</pubDate><description><![CDATA[本文以 51 单片机点亮第一个 LED 为起点，介绍共阳极 LED 的驱动逻辑、异或闪烁原理，并采用模块化编程方式给出 led.c、led.h 与 main.c 完整源码，最后梳理 Keil 工程关键配置与常见踩坑点，适合零基础入门读者。]]></description><category></category></item><item><title><![CDATA[ARM-知识扫盲2-汇编编码]]></title><link>https://blog.csdn.net/2501_91650731/article/details/165625718</link><guid>https://blog.csdn.net/2501_91650731/article/details/165625718</guid><author>2501_91650731</author><pubDate>Wed, 16 Sep 2026 19:04:59 +0800</pubDate><description><![CDATA[如果一个32位的数，能够再经过偶数次循环右移后，使其前24位全为0，这个数可以作为立即数，后8位数据保存在12位立即数的后8位，前4位保存为这个数循环右移次数的一般。寄存器作为第二操作数移位量：    ADD{S}<c> <Rd>, <Rn>, <Rm>, <type> <Rs>寄存器作为第二操作数移位量：    SUB{S}<c> <Rd>, <Rn>, <Rm>, <type> <Rs>寄存器作为第二操作数寄存器：    ADD{S}<c> <Rd>, <Rn>, <Rm>{, <shift>}]]></description><category></category></item><item><title><![CDATA[ARM-知识扫盲1]]></title><link>https://blog.csdn.net/2501_91650731/article/details/165489354</link><guid>https://blog.csdn.net/2501_91650731/article/details/165489354</guid><author>2501_91650731</author><pubDate>Tue, 15 Sep 2026 19:54:11 +0800</pubDate><description><![CDATA[ARM 架构功耗低、体积小，广泛应用于单片机、手机、嵌入式设备等场景，Cortex‑M 系列单片机内核仅支持 Thumb‑2 指令集，没有 MMU，Cortex‑A 系列应用内核带有 MMU，可以运行 Linux 操作系统。块设备属于不可寻址外存，CPU 不能直接访问，需要通过对应的控制器，借助 DMA 将数据搬运到主内存后，CPU 才能处理数据，操作系统通过文件系统对块设备进行管理。SoC 是一整个芯片。每个位置存储的指令，为一个跳转指令，改变pc，跳到其他地方处理异常，类似中断函数，每个大小为4位。]]></description><category></category></item><item><title><![CDATA[33-HTTP协议TCP网页设计相关知识]]></title><link>https://blog.csdn.net/2501_91650731/article/details/164719167</link><guid>https://blog.csdn.net/2501_91650731/article/details/164719167</guid><author>2501_91650731</author><pubDate>Tue, 15 Sep 2026 19:51:50 +0800</pubDate><description><![CDATA[还需要一个商品展示页面，用户通过搜索进入该页面，页面可滑动，每个商品卡片从上到下的详细信息为，商品图片，两行文字，第一行商品简洁的前12个字，最后一行从左到右商品价格，一个查看详情。点击查看详情后，即可跳转到商品的详细页面，这个之后再说。DELETE 请求：删除服务器上的资源，请求头（Request Header）中包含 Content-Type:，请求体（Request Body）中包含要删除的资源的路径。-----------------以上为响应头部分---------------------]]></description><category></category></item><item><title><![CDATA[32 SQLITE数据库]]></title><link>https://blog.csdn.net/2501_91650731/article/details/164374656</link><guid>https://blog.csdn.net/2501_91650731/article/details/164374656</guid><author>2501_91650731</author><pubDate>Fri, 04 Sep 2026 19:08:03 +0800</pubDate><description><![CDATA[callback    int (*)(void*, int, char**, char** )    回调函数：处理 SELECT 查询结果的每一行，如果是 INSERT/UPDATE/DELETE 等非查询语句，传 NULL， 如果正常执行一定要return 0;SELECT * FROM student WHERE class IN ('高三1班', '高三2班', '高三3班');SELECT * FROM student WHERE class NOT IN ('高三1班', '高三2班');]]></description><category></category></item><item><title><![CDATA[31-TCP并发]]></title><link>https://blog.csdn.net/2501_91650731/article/details/164339061</link><guid>https://blog.csdn.net/2501_91650731/article/details/164339061</guid><author>2501_91650731</author><pubDate>Thu, 03 Sep 2026 19:24:04 +0800</pubDate><description><![CDATA[功能：    创建一个 epoll 实例，返回一个文件描述符，用于后续的 epoll_ctl() 和 epoll_wait() 操作。op           操作类型：EPOLL_CTL_ADD、EPOLL_CTL_MOD、EPOLL_CTL_DEL。epfd             epoll 实例的文件描述符（由 epoll_create() 返回）// 事件掩码（关注的事件类型）等待 epoll 实例中的文件描述符产生事件，将就绪的事件填充到 events 数组中返回。// 最常用：存文件描述符。]]></description><category></category></item><item><title><![CDATA[30-HTTP协议]]></title><link>https://blog.csdn.net/2501_91650731/article/details/164302840</link><guid>https://blog.csdn.net/2501_91650731/article/details/164302840</guid><author>2501_91650731</author><pubDate>Wed, 02 Sep 2026 18:43:16 +0800</pubDate><description><![CDATA[主机：服务器的IP地址，通常以域名的形式展示，通过DNS服务器，将域名转换为其对应的IP地址。统一资源定位符：URL，网址 <协议> : / / <主机> : <端口> / <路径>端口：服务器上的应用程序端口号，HTTP常见端口为80或8080,HTTPS端口为443。http超文本传输协议，是基于TCP的一种应用协议，用于规定超文本在网络中传输的流程。HTTP请求报文的格式：（ASCII码组成的字符串，长度不确定）找到HTTP类型的，GET开头的，内容为报文以及格式。无需连接服务器，本地也能工作。]]></description><category></category></item><item><title><![CDATA[29-TCP协议]]></title><link>https://blog.csdn.net/2501_91650731/article/details/164267521</link><guid>https://blog.csdn.net/2501_91650731/article/details/164267521</guid><author>2501_91650731</author><pubDate>Tue, 01 Sep 2026 20:03:50 +0800</pubDate><description><![CDATA[TCP 服务器端的核心函数，用于接受客户端的连接请求，从已完成连接队列中取出第一个连接，并创建一个新的套接字用于与客户端通信。TCP 网络编程中用于接收数据的核心函数，适用于已建立连接的套接字（TCP 或已 connect 的 UDP）。TCP 网络编程中用于发送数据的核心函数，适用于已建立连接的套接字（TCP 或已 connect 的 UDP）。从监听套接字的已完成连接队列中取出第一个连接请求，创建一个新的套接字用于与客户端通信。sockfd     套接字文件描述符（已建立连接的 socket）]]></description><category></category></item><item><title><![CDATA[29-IPV4-UDP通信]]></title><link>https://blog.csdn.net/2501_91650731/article/details/164228068</link><guid>https://blog.csdn.net/2501_91650731/article/details/164228068</guid><author>2501_91650731</author><pubDate>Mon, 31 Aug 2026 19:18:51 +0800</pubDate><description><![CDATA[常见错误码包括：EACCES（权限不足，如创建原始套接字未使用 root 权限）、EAFNOSUPPORT（不支持的地址族）、EPROTONOSUPPORT（不支持的协议）、EMFILE（进程打开的文件描述符已达上限）以及 ENFILE（系统打开的文件总数已达上限）。socket() 成功时返回一个非负整数，即套接字文件描述符（如 3、4），后续所有网络操作（bind()、listen()、connect()、send()、recv() 等）都通过该描述符进行。]]></description><category></category></item><item><title><![CDATA[28-进程通信]]></title><link>https://blog.csdn.net/2501_91650731/article/details/164228062</link><guid>https://blog.csdn.net/2501_91650731/article/details/164228062</guid><author>2501_91650731</author><pubDate>Mon, 31 Aug 2026 19:18:08 +0800</pubDate><description><![CDATA[IPC（Inter-Process Communication，进程间通信）对象是一个统称，它包含：消息队列（Message Queue），共享内存（Shared Memory），信号量（Semaphore）因为：通信双方需要共享同一个 key（通过相同的路径 + proj_id），msgget 可以通过 key 找到已经存在的队列，实现多个进程共享同一个 IPC 对象，如果每次 msgget 都创建新队列，进程间就无法通信了。proj_id    项目标识符（只使用低 8 位，如 'a'）？]]></description><category></category></item><item><title><![CDATA[27-进程通信]]></title><link>https://blog.csdn.net/2501_91650731/article/details/164150545</link><guid>https://blog.csdn.net/2501_91650731/article/details/164150545</guid><author>2501_91650731</author><pubDate>Fri, 28 Aug 2026 17:31:20 +0800</pubDate><description><![CDATA[返回：始终返回 -1 pause() 正常工作时永远不会返回，只有被信号中断后才返回，并且总是返回 -1，同时设置 errno = EINTR。阻塞效果，mkfifo创建的文件，必须同时启动open(O_RDONLY)以及open(O_WRONLY),否则另一端为阻塞。成功    返回之前对该信号设置的处理函数指针（可能是 SIG_DFL、SIG_IGN 或之前自定义的函数地址）功能：让当前进程暂停执行（进入睡眠状态），直到收到一个信号，且该信号的处理方式不是忽略。]]></description><category></category></item></channel></rss>