<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BBA_Code的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/BBA_Code</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; BBA_Code]]></copyright><item><title><![CDATA[CPU、MCU、MPU、SOC、SOCPC、概念解释之在嵌入式领域常听到的名词含义]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/132484692</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/132484692</guid><author>BBA_Code</author><pubDate>Thu, 24 Aug 2023 23:54:00 +0800</pubDate><description><![CDATA[它本质上仍是一个完整的单片机，有处理器，有各种接口，所有的开发都是基于已经存在的系统架构，应用者要做的就是开发软件程序和加外部设备。SoC(System on Chip)，整体的一个电路系统，完成一个具体功能的东西,指的是片上系统，MCU只是芯片级的芯片，而SoC是系统级的芯片，它既MCU那样有内置RAM、ROM同时又像MPU那样强大，不单单是放简单的代码，可以放系统级的代码，也就是说可以运行操作系统（以Linux OS为主）(将就认为是MCU集成化与MPU强处理力各优点二合一)。]]></description><category></category></item><item><title><![CDATA[嵌入式行业找工作和在校期间应该做的事有哪些？学习路线、未来规划、35岁危机？]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/131872737</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/131872737</guid><author>BBA_Code</author><pubDate>Sat, 22 Jul 2023 21:17:23 +0800</pubDate><description><![CDATA[1、做技术，没有掌握到行业的核心，技术和前几年并没长进，行业知识不够。2、没混到管理层。]]></description><category></category></item><item><title><![CDATA[进程与线程的区别，特点比较区别与联系]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/131412737</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/131412737</guid><author>BBA_Code</author><pubDate>Tue, 27 Jun 2023 13:56:26 +0800</pubDate><description><![CDATA[进程：进程是程序执行的实例，包括程序计数器和寄存器和变量的当前值进程依赖于程序存在线程：每个进程都拥有自己的数据段、代码段和堆栈的，这就造成了进程在创建、切换、撤销操作时，需要较大的系统开销。为了减小系统开销，从进程中演化出了线程。]]></description><category></category></item><item><title><![CDATA[进程的概念、特点详细介绍及Linux系统中进程控制]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/131405427</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/131405427</guid><author>BBA_Code</author><pubDate>Tue, 27 Jun 2023 10:21:35 +0800</pubDate><description><![CDATA[对于操作系统中，程序时存放存储介质上的一个可执行文件，进程时程序执行实例，包括程序计数器，寄存器和变量的当前值。程序是静态的，进程是动态的简单来说：程序是一些指令的有序集合，而进程是程序执行的过程。进程的状态是变化的，即创建，调度，消亡。]]></description><category></category></item><item><title><![CDATA[FreeRTOS系统学习-内核篇.01-数据结构---列表与列表项定义详解-链表节点插入实验]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/130427434</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/130427434</guid><author>BBA_Code</author><pubDate>Fri, 28 Apr 2023 16:16:01 +0800</pubDate><description><![CDATA[同样，链表也类似，链表的节点本身不能存储太多东西，或者说链表的节点本来就不是用来存储大量数据的，但是节点跟晾衣架的钩子一样，可以挂很多数据。要通过链表存储的数据内嵌一个节点即可，这些要存储的数据通过这个内嵌的节点即可挂接到链表中，就好像晾衣架的钩子一样，把衣服挂接到晾衣架中。列表和列表项是直接从 FreeRTOS 源码的注释中的 list 和 list item 翻译过来的，其实就是对应我们 C 语言当中的链表和节点，在后续的讲解中，我们说的链表就是列表，节点就是列表项。太多了，不过多介绍。]]></description><category></category></item><item><title><![CDATA[FreeRTOS系统学习第一步：新建 FreeRTOS 工程—软件仿真]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/130401388</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/130401388</guid><author>BBA_Code</author><pubDate>Thu, 27 Apr 2023 11:15:44 +0800</pubDate><description><![CDATA[在开始写 FreeRTOS 内核之前，我们先新建一个 FreeRTOS 的工程，Device 选择Cortex-M3（Cortex-M4 或 Cortex-M7）内核的处理器，调试方式选择软件仿真，为什么选择软件仿真呢？因为我们在学习FreeRTOS内核过程中呢，有些代码逻辑是没有实验现象的，我们通过软件仿真来观察过程现象，通过Debug方式，借助逻辑分析仪，查看一些实验现象。]]></description><category></category></item><item><title><![CDATA[单片机编程中的裸机编程和多任务系统FreeRTOS系统详解，以及怎么学习FreeRTOS，看哪家的教程？(合集)]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/130323494</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/130323494</guid><author>BBA_Code</author><pubDate>Sun, 23 Apr 2023 16:08:30 +0800</pubDate><description><![CDATA[野火的FreeRTOS倡导的是从0-1先从内核底层学起，我尝试了一段时间，发现到中期，根本看不懂，列表和任务的定义之类的函数，又看了原子的教程，但原子的教程大家都懂，不过我看过他家的 HAL库 和这个RTOS抛开他们的代码不说，其他的还是可以的，方式可以，更易懂。在顺序执行后台程序的时候，如果有中断来临，那么中断会打断后台程序的正常执行流，转而去执行中断服务程序，在中断服务程序里面标记事件，如果事件要处理的事情很简短，则可在中断服务程序里面处理，如果事件要处理的事情比较多，则返回到后台程序里面处理。]]></description><category></category></item><item><title><![CDATA[STM32HAL库USART外设配置流程及库函数讲解]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/130267974</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/130267974</guid><author>BBA_Code</author><pubDate>Thu, 20 Apr 2023 15:41:22 +0800</pubDate><description><![CDATA[一说到串口通信，及必须说一下aRS-232/485协议。232协议标准物理接口就是我们常用的DB9串口线RS-232电平：逻辑1：-15~-3逻辑0： +3~+15COMS电平：逻辑1：3.3逻辑0： 0vTTL电平逻辑1：5v逻辑0：0v。]]></description><category></category></item><item><title><![CDATA[STM32HAL库中外设初始化MSP回调机制及中断回调机制详解]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/130242995</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/130242995</guid><author>BBA_Code</author><pubDate>Wed, 19 Apr 2023 14:20:00 +0800</pubDate><description><![CDATA[我们开始学习HAL库的过程中，一定会发现与固件库开发中外设初始化流程和中断处理机制不相同，在这里将为大家解答一下心中的译文。]]></description><category></category></item><item><title><![CDATA[SMT32HAL库开发第一课-外设GPIO初始化流程]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/130242865</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/130242865</guid><author>BBA_Code</author><pubDate>Wed, 19 Apr 2023 14:15:06 +0800</pubDate><description><![CDATA[本文章主要介绍一下HAL库中GPIO外设驱动文件中官方提供的函数的功能和用法。GPIO复用 IO端口的输入输出是由其他非GPIO外设控制的。GPIO支持什么复用功能去查看数据手册！]]></description><category></category></item><item><title><![CDATA[STM32外设之TIM定时器使用及输出比较模式PWM生成，PWM频率和占空比计算，文末有固件库TIM驱动文件的函数讲解]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/129775630</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/129775630</guid><author>BBA_Code</author><pubDate>Sun, 26 Mar 2023 13:15:00 +0800</pubDate><description><![CDATA[必须设置TIMx_CCMRx寄存器OCxPE位以使能相应的预装载寄存器，最后还要设置TIMx_CR1寄存器的ARPE位，(在向上计数或中心对称模式中)使能自动重装载的预装载寄存器。预分频器可以将计数器的时钟频率按1到65536之间的任意值分频。根据不同型号的单片机，挂载的定时器个数不同，比如C8T6只有TIM1~4，更高级的控制器有更多的定时器。]]></description><category></category></item><item><title><![CDATA[STM32输出PWM波控制电机转速，红外循迹避障智能车+L298N的详细使用手册、接线方法及工作原理，有代码]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/129774576</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/129774576</guid><author>BBA_Code</author><pubDate>Sun, 26 Mar 2023 08:41:48 +0800</pubDate><description><![CDATA[对于L298N的讲解此网站上有很多 我只能说讲的好的每一个，我初次找L298N的资料时，真的被搞的迷迷糊糊，怎么说的都有，服了。本设计的完整的系统主要包括STM32单片机最小系统、L298n电机驱动，超声波 ，舵机 ，红外模块等。供电方式 ：12V供电，左下角三个接口，最左边为12V输入，中间为GND引脚，右边是5v输出（要将上面跳线帽连接）（电机以最快速度转动）---------------------------------没办法调整左右轮速度。IN1，IN2，IN3，IN4按章上面的接法控制方向。]]></description><category></category></item><item><title><![CDATA[STM32使用ST-Link下载器下载正确操作方式以及ST-LINK下载失败“target dll has been cancelled”等错误]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/129334092</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/129334092</guid><author>BBA_Code</author><pubDate>Sat, 04 Mar 2023 15:17:40 +0800</pubDate><description><![CDATA[注意使用串口下载要使用STM32从系统存储器启动方式即：BOOT0 引脚置1 ，BOOT1引脚置0,从系统存储器方式启动，下载代码，是利用出厂预置在芯片内部的Bootloader,将代码下载到FLASH中启动。ST-Link是一款支持STM32/8烧录的工具，有两种烧录接口：JTAG接口和SWD接口，现在工程师们都是使用SWD烧录，古老的JTAG方式已被淘汰。我们使用C8T6开发时，往板子里面下载程序，使用ISP串口比较繁琐，开发中不推荐，学生没有仿真器时可以使用ISP。下载工具，连接开发板，将芯片清除。]]></description><category></category></item><item><title><![CDATA[USB转串口芯片CH340系列及CH340模块使用方法（CH340驱动，接线，串口下载详细介绍）]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/129050168</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/129050168</guid><author>BBA_Code</author><pubDate>Wed, 15 Feb 2023 22:05:58 +0800</pubDate><description><![CDATA[我们为什么要用到CH340驱动呢？CH340驱动就是USB转串口的驱动的一种，因为我们现在的电脑上，已经不存在串口，所以我们一般使用USB转串口芯片，目的只有一个，把电脑的USB口映射为串口用。常用的USB转串口芯片有CH340、CP2102、PL2303、FT232等。芯片是CH340的均可以使用。安装CH340驱动之后，我们使用的开发板子（单片机）连接串口就可以正常发挥其功能了。电脑usb电平转为TTL电平。]]></description><category></category></item><item><title><![CDATA[嵌入式软件开发-最基本的GPIO口详细配置过程及原理--学习单片机的基石]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/128048764</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/128048764</guid><author>BBA_Code</author><pubDate>Sat, 26 Nov 2022 11:16:22 +0800</pubDate><description><![CDATA[我们在学习单片机的过程中，每次学习一个新的外设，我们一定要去弄懂这个外设的概念，要彻底明白这个外设是用来干嘛的，这样也方便我们去理解记忆外设的配置流程，对于概念，字面意思我们要对适当的去记忆，不然别人问起，我们自己知道但不会表达，也不行哈，自己去适当的记忆也有利于我们对单片机的体系结构有个整体的把握，掌控全局，逐个击破。也就是说，一个引脚可以有很多作用，但是默认为IO口，如果想使用一个 GPIO内置外设的功能引脚，就需要GPIO的复用，那么当这个 GPIO 作为内置外设使用的时候，就叫做复用。]]></description><category></category></item><item><title><![CDATA[嵌入式开发-常用通讯协议---SPI协议详细介绍—读写串行 FLASH]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/127924010</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/127924010</guid><author>BBA_Code</author><pubDate>Fri, 18 Nov 2022 16:25:45 +0800</pubDate><description><![CDATA[SPI协议的概念SPI物理层SPI协议层1.SPI通讯时序2. 通讯的起始和停止信号3. 数据有效性4. CPOL/CPHA 及通讯模式STM32 的 SPI 特性及架构STM32 的 SPI外设简介STM32 的 SPI架构剖析1. 通讯引脚2. 时钟控制逻辑3. 数据控制逻辑4. 整体控制逻辑通讯过程SPI 初始化结构体详解SPI—读写串行 FLASH 实验1. 编程要点2. 代码分析STM32 的 SPI 外设可用作通讯的主机及从机，]]></description><category></category></item><item><title><![CDATA[常用存储器详细介绍(ROM、RAM、FLASH等)]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/127923096</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/127923096</guid><author>BBA_Code</author><pubDate>Fri, 18 Nov 2022 15:26:53 +0800</pubDate><description><![CDATA[另外，FLASH 的擦除次数都是有限的(现在普遍是 10 万次左右)，当它的使用接近寿命的时候，可能会出现写操作失败。而由于 NAND 的数据和地址线共用，只能按“块”来读写数据，假如 NAND 上存储了代码指令，CPU 给 NAND 地址后，它无法直接返回该地址的数据，所以不符合指令译码要求。MASK(掩膜) ROM 就是正宗的“Read Only Memory”，存储在它内部的数据是在出厂时使用特殊工艺固化的，生产后就不可修改，其主要优势是大批量生产时成本低。后，它的内容也不可再修改。]]></description><category></category></item><item><title><![CDATA[嵌入式软件开发必看--常用通讯协议---IIC协议详细介绍-从物理层协议层到代码配置]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/127822595</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/127822595</guid><author>BBA_Code</author><pubDate>Sat, 12 Nov 2022 19:30:49 +0800</pubDate><description><![CDATA[起始信号产生后，所有从机就开始等待主机紧接下来广播的从机地址信号在 I2C 总线上，每个设备的地址都是唯一的，当主机广播的地址与某个设备地址相同时，这个设备就被选中了，没被选中的设备将会忽略之后的数据信号。根据 I2C 协议，这个从机地址可以是 7 位或 10 位。在地址位之后，是传输方向的选择位，该位为 0 时，表示后面的数据传输方向是由主机传输至从机，即主机向从机写数据。该位为 1 时，则相反，即主机由从机读数据。]]></description><category></category></item><item><title><![CDATA[STM32的定时器概念-从基本到高级定时器由底层到配置使用-基本和高级TIM使用的初始化-用通用TIM输出四路PWM波]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/127695971</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/127695971</guid><author>BBA_Code</author><pubDate>Sat, 05 Nov 2022 14:05:04 +0800</pubDate><description><![CDATA[宏定义都知道写在哪个文件内吧就不多说了#define BASIC_TIM6 // 如果使用 TIM7，注释掉这个宏即可 #ifdef BASIC_TIM6 // 使用基本定时器 TIM6 #define BASIC_TIM TIM6 #define BASIC_TIM_APBxClock_FUN RCC_APB1PeriphClockCmd。]]></description><category></category></item><item><title><![CDATA[STM32的中断概念-从EXTI到NVIC由外到内一文搞清中断概念-EXTI的初始化和NVIC的初始化-按键中断实验]]></title><link>https://blog.youkuaiyun.com/BBA_Code/article/details/127694635</link><guid>https://blog.youkuaiyun.com/BBA_Code/article/details/127694635</guid><author>BBA_Code</author><pubDate>Fri, 04 Nov 2022 20:42:09 +0800</pubDate><description><![CDATA[NVIC 是嵌套向量中断控制器，控制着整个芯片中断相关的功能，它跟内核紧密耦合，是内核里面的一个外设。但是各个芯片厂商在设计芯片的时候会对 Cortex-M3 内核里面的 NVIC 进行裁剪，把不需要的部分去掉，所以说 STM32 的 NVIC 是 Cortex-M3 的 NVIC 的一个子集。EXTI（External interrupt/event controller）—外部中断/事件控制器，管理了控制器的 20个中断/事件线。每个中断/事件线都对应有一个边沿检测器，可以实现输入信号的上升沿。]]></description><category></category></item></channel></rss>