<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[apythonlearner的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/apythonlearner</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; apythonlearner]]></copyright><item><title><![CDATA[【Python】os模块base 常用os模块属性以及方法]]></title><link>https://blog.csdn.net/apythonlearner/article/details/130674877</link><guid>https://blog.csdn.net/apythonlearner/article/details/130674877</guid><author>apythonlearner</author><pubDate>Mon, 08 Apr 2024 18:45:29 +0800</pubDate><description><![CDATA[【代码】【Python】os模块base 常用os模块属性以及方法。]]></description><category></category></item><item><title><![CDATA[【Python】python的常用内置函数(更新中)]]></title><link>https://blog.csdn.net/apythonlearner/article/details/137150573</link><guid>https://blog.csdn.net/apythonlearner/article/details/137150573</guid><author>apythonlearner</author><pubDate>Mon, 01 Apr 2024 17:19:16 +0800</pubDate><description><![CDATA[过滤出数据中的偶数# 给数据中每个元素加1。]]></description><category></category></item><item><title><![CDATA[【C语言环境】Sublime中运行C语言时MinGW环境的安装]]></title><link>https://blog.csdn.net/apythonlearner/article/details/137213005</link><guid>https://blog.csdn.net/apythonlearner/article/details/137213005</guid><author>apythonlearner</author><pubDate>Mon, 01 Apr 2024 00:10:19 +0800</pubDate><description><![CDATA[要知道，GCC 官网提供的 GCC 编译器是无法直接安装到 Windows 平台上的，如果我们想在 Windows 平台使用 GCC 编译器，可以安装 GCC 的移植版本。目前适用于 Windows 平台、受欢迎的 GCC 移植版主要有 2 种，分别为 MinGW 和 Cygwin。其中，MinGW 侧重于服务 Windows 用户可以使用 GCC 编译环境，直接生成可运行 Windows 平台上的可执行程序，相比后者体积更小，使用更方便；]]></description><category></category></item><item><title><![CDATA[【FreeRTOS】【STM32】08 FreeRTOS 消息队列]]></title><link>https://blog.csdn.net/apythonlearner/article/details/134034838</link><guid>https://blog.csdn.net/apythonlearner/article/details/134034838</guid><author>apythonlearner</author><pubDate>Mon, 30 Oct 2023 15:33:45 +0800</pubDate><description><![CDATA[消息队列是一种数据结构。]]></description><category></category></item><item><title><![CDATA[【Python】time模块]]></title><link>https://blog.csdn.net/apythonlearner/article/details/133995838</link><guid>https://blog.csdn.net/apythonlearner/article/details/133995838</guid><author>apythonlearner</author><pubDate>Mon, 23 Oct 2023 18:47:00 +0800</pubDate><description><![CDATA[time模块是python的内置模块。]]></description><category></category></item><item><title><![CDATA[【FreeRTOS】【STM32】06 FreeRTOS的使用-动态创建多任务 FreeRTOS 的启动流程]]></title><link>https://blog.csdn.net/apythonlearner/article/details/133886668</link><guid>https://blog.csdn.net/apythonlearner/article/details/133886668</guid><author>apythonlearner</author><pubDate>Tue, 17 Oct 2023 16:25:20 +0800</pubDate><description><![CDATA[**************************** 任务句柄 ********************************/ /** 任务句柄是一个指针，用于指向一个任务，当任务创建好之后，它就具有了一个任务句柄* 以后我们要想操作这个任务都需要通过这个任务句柄，如果是自身的任务操作自己，那么* 这个句柄可以为 NULL。*/ /* 创建任务句柄 */ static TaskHandle_t AppTaskCreate_Handle = NULL;]]></description><category></category></item><item><title><![CDATA[【FreeRTOS】【STM32】06 FreeRTOS的使用-动态创建单任务]]></title><link>https://blog.csdn.net/apythonlearner/article/details/133883629</link><guid>https://blog.csdn.net/apythonlearner/article/details/133883629</guid><author>apythonlearner</author><pubDate>Tue, 17 Oct 2023 15:54:22 +0800</pubDate><description><![CDATA[for(;;) (2)/*--任务应用程序--比如点亮一个LED，启动一个马达*/(3)(4)/* 不能从任务函数中返回或者退出， 从任务函数中返回或退出的话就会调用configASSERT()，前提是你定义了 configASSERT()。如果一定要从任务函数中退出的话那一定要调用函数 vTaskDelete(NULL)来删除此任务。*/(5)(1)、任务函数本质也是函数，返回类型一定要为void 类型，任务的参数也是 void 指针类型。]]></description><category></category></item><item><title><![CDATA[【FreeRTOS】04 FreeRTOS 创建任务相关API函数]]></title><link>https://blog.csdn.net/apythonlearner/article/details/133881736</link><guid>https://blog.csdn.net/apythonlearner/article/details/133881736</guid><author>apythonlearner</author><pubDate>Tue, 17 Oct 2023 14:19:36 +0800</pubDate><description><![CDATA[此函数也是用来创建任务的，只不过此函数要求所使用的 MCU 有 MPU(内存保护单元)，用此函数创建的任务会受到 MPU 的保护。其中空闲任务的任务堆栈大小为 configMINIMAL_STACK_SIZE。: 指向一个结构体 TaskParameters_t，这个结构体描述了任务的任务函数、堆栈大小、优先级等。： 任务堆栈大小，由于本函数是静态方法创建任务，所以任务堆栈由用户给出，一般是个数组，此参数就是这个数组的大小。: 任务句柄，任务创建成功以后会返回此任务的任务句柄，: 传递给任务函数的参数。]]></description><category></category></item><item><title><![CDATA[【嵌入式C】计算机中大小端的认识]]></title><link>https://blog.csdn.net/apythonlearner/article/details/132579674</link><guid>https://blog.csdn.net/apythonlearner/article/details/132579674</guid><author>apythonlearner</author><pubDate>Tue, 17 Oct 2023 13:23:32 +0800</pubDate><description><![CDATA[大端符合人类的习惯。]]></description><category></category></item><item><title><![CDATA[【FreeRTOS】【STM32】04.5 FreeRTOS开始使用前的基础知识 补充]]></title><link>https://blog.csdn.net/apythonlearner/article/details/133744590</link><guid>https://blog.csdn.net/apythonlearner/article/details/133744590</guid><author>apythonlearner</author><pubDate>Tue, 17 Oct 2023 10:01:06 +0800</pubDate><description><![CDATA[任务调度器在进行任务切换的时候会将当前任务的现场(CPU 寄存器值等)保存在此任务的任务堆栈中，等到此任务下次运行的时候就会先用堆栈中保存的值来恢复现场，恢复现场以后任务就会接着从上次中断的地方开始运行。通过任务调度的方式，执行各个任务，优先级高的先执行，执行完了释放CPU使用权，交予优先级低的。每个任务都必须有个堆栈，当任务切换的时候将上下文环境保存在堆栈中，这样当任务再次执行的时候就可以从堆栈中取出上下文环境，任务恢复运行。静态建任务都需要指定任务堆栈大小。.，每一个任务都有自己的堆栈。]]></description><category></category></item><item><title><![CDATA[【嵌入式C】强制类型转换]]></title><link>https://blog.csdn.net/apythonlearner/article/details/133876041</link><guid>https://blog.csdn.net/apythonlearner/article/details/133876041</guid><author>apythonlearner</author><pubDate>Tue, 17 Oct 2023 09:43:37 +0800</pubDate><description><![CDATA[类型转换：低转高：延拓，最高位填充；高转低：截断。]]></description><category></category></item><item><title><![CDATA[【FreeRTOS】【STM32】05 FreeRTOS的使用-静态创建任务]]></title><link>https://blog.csdn.net/apythonlearner/article/details/133752195</link><guid>https://blog.csdn.net/apythonlearner/article/details/133752195</guid><author>apythonlearner</author><pubDate>Thu, 12 Oct 2023 17:34:01 +0800</pubDate><description><![CDATA[1、Free RTOS使用或来创建任务，这两个函数的参数pxTaskCode也是函数，称作任务函数。任务函数的作用是具体实现某一项功能，比如说我们要点亮led灯那么任务函数的内容就是点亮灯。2、我们需要定义这个任务函数。for(;;) (2)/*--任务应用程序--比如点亮一个LED，启动一个马达*/(3)(4)/* 不能从任务函数中返回或者退出， 从任务函数中返回或退出的话就会调用configASSERT()，前提是你定义了 configASSERT()。]]></description><category></category></item><item><title><![CDATA[【嵌入式】堆栈与单片机内存]]></title><link>https://blog.csdn.net/apythonlearner/article/details/133791607</link><guid>https://blog.csdn.net/apythonlearner/article/details/133791607</guid><author>apythonlearner</author><pubDate>Thu, 12 Oct 2023 15:41:48 +0800</pubDate><description><![CDATA[在片内RAM中，常常要指定一个专门的区域来存放某些特别的数据它遵循顺序存取和后进先出(LIFO/FILO)的原则，这个RAM区叫堆栈。其实堆栈就是单片机中的一些存储单元，这些存储单元被指定保存一些特殊信息，比如地址（保护断点）和数据（保护现场）。]]></description><category></category></item><item><title><![CDATA[【FreeRTOS】【STM32】02 FreeRTOS 移植]]></title><link>https://blog.csdn.net/apythonlearner/article/details/133636457</link><guid>https://blog.csdn.net/apythonlearner/article/details/133636457</guid><author>apythonlearner</author><pubDate>Mon, 09 Oct 2023 17:27:57 +0800</pubDate><description><![CDATA[FreeRTOS 所有跟时间相关的事情都在SysTick 中断服务函数中处理。也就是FreeRTOS 的心跳。PendSV_Handler()、SVC_Handler()和 Systick_Handler()三个中断处理函数重复定义，这是因为 port.c 和 stm32f4xx_it.c 这两个文件中有重复定义的函数。这里屏蔽掉 stm32f4xx_it.c 中的 PendSV_Handler()、SVC_Handler()和 Systick_Handler()这三个函数。或者：屏蔽。]]></description><category></category></item><item><title><![CDATA[【FreeRTOS】【STM32】01从零开始的freertos之旅 浏览源码下的文件夹]]></title><link>https://blog.csdn.net/apythonlearner/article/details/133636115</link><guid>https://blog.csdn.net/apythonlearner/article/details/133636115</guid><author>apythonlearner</author><pubDate>Mon, 09 Oct 2023 16:32:31 +0800</pubDate><description><![CDATA[基于野火以及正点原子在打开正点原子的资料pdf时，我遇到了pdf无法复制粘贴的问题，这里有个pdf解锁文字复制功能的网址，mark一下。参考资料《STM32F429+FreeRTOS开发手册_V1.2》]]></description><category></category></item><item><title><![CDATA[【FreeRTOS】【STM32】03 FreeRTOSConfig.h头文件简介与修改]]></title><link>https://blog.csdn.net/apythonlearner/article/details/133706751</link><guid>https://blog.csdn.net/apythonlearner/article/details/133706751</guid><author>apythonlearner</author><pubDate>Mon, 09 Oct 2023 16:31:25 +0800</pubDate><description><![CDATA[之前也说过了，FreeRTOSConfig.h文件可以添加在工程中任意文件夹，只需要在路径中添加好了就行。该头文件对裁剪整个FreeRTOS 所需的功能的宏均做了定义。这边是野火电子添加注释版本的FreeRTOSConfig.h，添加了一些中文注释，并且把相关的头文件进行分类，方便查找宏定义已经阅读，详见[野火®]《FreeRTOS%20内核实现与应用开发实战—基于STM32》.pdf(1)]]></description><category></category></item><item><title><![CDATA[【STM32】sct 分散加载文件的格式与应用]]></title><link>https://blog.csdn.net/apythonlearner/article/details/133034055</link><guid>https://blog.csdn.net/apythonlearner/article/details/133034055</guid><author>apythonlearner</author><pubDate>Thu, 28 Sep 2023 17:18:13 +0800</pubDate><description><![CDATA[在 MDK 的“Options for Target->Linker->Use Memory Layout from Target Dialog”选项可配置该选择。1.勾选时，]]></description><category></category></item><item><title><![CDATA[【STM32】IAP升级01 bootloader实现以及APP配置（主要）]]></title><link>https://blog.csdn.net/apythonlearner/article/details/133176744</link><guid>https://blog.csdn.net/apythonlearner/article/details/133176744</guid><author>apythonlearner</author><pubDate>Wed, 27 Sep 2023 18:04:07 +0800</pubDate><description><![CDATA[STM32的IAP升级]]></description><category></category></item><item><title><![CDATA[【STM32】IAP升级02关闭总中断，检测栈顶指针]]></title><link>https://blog.csdn.net/apythonlearner/article/details/133353785</link><guid>https://blog.csdn.net/apythonlearner/article/details/133353785</guid><author>apythonlearner</author><pubDate>Wed, 27 Sep 2023 15:45:37 +0800</pubDate><description><![CDATA[这样在 __enable_irq()开启总中断后，MCU就不会响应之前触发的中断了。这说明__disable_irq()只是禁止CPU去响应中断，没有真正的去屏蔽中断的触发，中断发生后，相应的寄存器会将中断标志置位，在__enable_irq()开启中断后，由于相应的中断标志没有清空，因而还会触发中断。// 开启总中断 但测试发现这样一个问题，在关闭总中断后，如果有中断触发，虽然此时不会引发中断，但在调用__enable_irq()开启总中断后，MCU会立即处理之前触发的中断。IAP升级时需要关闭总中断。]]></description><category></category></item><item><title><![CDATA[【嵌入式C】typedef void (*Fun) (void) 的理解，函数指针的一种方式]]></title><link>https://blog.csdn.net/apythonlearner/article/details/133347771</link><guid>https://blog.csdn.net/apythonlearner/article/details/133347771</guid><author>apythonlearner</author><pubDate>Wed, 27 Sep 2023 14:21:54 +0800</pubDate><description><![CDATA[类型的函数类型，这个类型的参数是int，返回值是char。3.将glFun函数的地址赋值给pFun。2.定义pFun为PTRFUN类型。1.typedef定义了一个。]]></description><category></category></item></channel></rss>