- 博客(37)
- 资源 (1)
- 收藏
- 关注
原创 FreeRTOS五种内存管理详解
作为最早期的内存管理,其实heap1做的事情很简单。首先,他的内存来源是。然后内存只能申请,并不能释放。因此,谈不上内存碎片等问题。1. 线程安全:在申请内存的时候通过vTaskSuspendAll()和xTaskResumeAll()。暂停和恢复了任务的调度,让整体申请可以安全使用。2. 内存对齐:主要分为两个对齐,前半部分对申请的内存大小进行了对齐,后半部分则对申请的起始内存地址进行了对齐。3. traceMALLOC()宏用于跟踪内存申请。
2023-11-09 17:09:26
753
原创 python3如何迁移虚拟环境
最近在做一个上位机项目,有时候项目需要从公司搬运到家里,不得不需要迁移venv形成的虚拟环境,网上很多答案都是通过打包之前虚拟环境的离线库再在新的环境下离线安装所需的包,这种做法很显然不优雅。经过本人的摸索,逐渐发现如何优雅的移动虚拟环境。但是如果使用python -m pip调用,发现还是可以的。这就说明它本身打包的路径是原始路径,咱们可以通过强制重新安装指令–force-reinstall再度安装一遍包。首先,虽然迁移了文件夹,但是还是可以照常的进入虚拟环境中。然后,运行自己的代码就发现可以运行了。
2022-09-25 02:51:43
657
1
原创 从0学起的esp-idf之旅——i2s总线理解与运用
i2s总线理解与运用I2S总线基础概念I2S概念PCM音频数据转换成PCM格式的三个参数采样频率(声音周期量化)采样位数(声音的幅度量化)声道数(单声道,立体声)I2S总线通讯方式I2S总线引脚esp32从ES8311分析i2s驱动如何去写原理图例程代码分析主函数i2s初始化es8311初始化播放音频I2S总线基础概念I2S概念I2S(Inter-IC Sound)总线, 又称集成电路内置音频总线,最早是由现在的恩智浦半导体公司针对数字音频设备之间的音频数据传输而制定的总线标准。该总线专门用于阴平设备
2022-04-06 22:39:50
6683
3
原创 ESP-ADF入门——从play_mp3_control入门adf
什么是ESP-ADF?ESP-ADF是乐鑫基于自家的SDK——esp-idf开发的音频开发框架创建第一个esp-adf工程本文主要为了方便大家对esp-adf的了解,抛弃了官方的流程。将esp-adf作为idf工程的组件创建esp-adf的最简工程,并从中分析adf的使用方法。本章默认大家已经装好了esp-idf,如果有不会安装的可以看我的视频。如有不合理之处欢迎大家雅正。如何优雅的下载github上的仓库并且下载子模块我自己在gitee上上传了一个自己常用的脚本,原理是递归换源。把github换
2022-03-03 00:52:45
11220
1
原创 esp32学习笔记——esp_now control例程分析(一)
前言关于esp-now的介绍视频建议看官方https://www.bilibili.com/video/BV1gf4y1H7iAesp-now的官方例程代码仓库在https://github.com/espressif/esp-now本章着重介绍自己的理解,请大家批判的接受代码整理我在分析demo的时候极其不习惯使用官方的工程,我会自己整理一个比较“纯净”的工程利于我自己的学习研究,当然这个只是自己的个人习惯。这里我把demo变成如下结构:.├── components│ ├── co
2021-09-09 14:34:21
2182
1
原创 从0学起的esp-idf之旅——外设篇矩阵键盘
前言今天来分析一下矩阵键盘,关于矩阵键盘这部分,实际上原理不难。乐鑫做好了一个矩阵键盘的,其中编程思路非常值得推敲。这次咱们先看看库怎么用,下次再来分析一波这个库源码。官方例程详细注释#include <stdio.h>#include "esp_log.h"#include "matrix_keyboard.h"const static char *TAG = "example";/** * @摘要 矩阵键盘事件处理函数 * @注意 此函数是在定时器里运行 */esp
2021-08-11 01:01:02
1324
5
原创 从0学起的esp-idf之旅——外设篇ledc(led pwm)
官方例程详细注释#include <stdio.h>#include "freertos/FreeRTOS.h"#include "freertos/task.h"#include "driver/ledc.h"#include "esp_err.h"/* * 关于这个例子 * * 1. 从初始化 LEDC 模块开始: * a. 首先设置LEDC的定时器,这决定了PWM的频率和分辨率。 * b. 然后设置您要使用的 LEDC 通道,并与其中一个定时器进行绑定。
2021-08-10 01:49:35
1965
原创 从0学起的esp-idf之旅——外设篇gpio
前言闲来无事,再开一坑,说是说从零学起,实际上就是分析官方例子。顺便帮助大家总结一波,在此分析一下,不要拿我的博文作为自己的学习esp-idf的”教参“。官方例程详细注释#include <stdio.h>#include <string.h>#include <stdlib.h>#include "freertos/FreeRTOS.h"#include "freertos/task.h"#include "freertos/queue.h"#incl
2021-08-09 23:01:24
1607
原创 通过<STDIO.H>浅谈C语言面向对象编程的思维
从文件对象谈C语言面向对象编程引言类与对象如何用代码实现面向对象的思想函数指针和指针函数引言C语言的输入输出库中,基本都是以FILE结构体为主建立的一套文件操作库。在对其进行简单的认识后,我想探究其背后的编程思路。首先我们把关注点放在这个贯穿全库的FILE结构体上。FILE结构体和我们平时用法好像不一样,从头至尾我们从来都没有去直接访问过它的结构体成员,一直都是以参数的形式进行调用。这里就不得不提出对象和类这个概念类与对象“类” 顾名思义就是种类的意思,种类是根据事物本身的性质或特点而划分的集合。
2021-07-25 15:57:38
2670
翻译 micropython相关的库、相关汇总
汇总有名的forksPycopyPycom MicroPythonCircuitPythonOpenMVLoboris ESP32相关的文档资料(不懂英文的用谷歌浏览器自带的翻译)mpy的README.mdmpy官方的文档Pycopy文档Python 3.5文档upycraft文档工具mpy交互式解释器(REPL)本地访问远程访问shell在设备上:upyshupy-shell在主机上rshellmpfshellampy包管理开发环境vscode插件thonny IDEpycharm插件IDEA插件mu编辑
2021-04-18 19:06:34
5005
2
原创 C语言高级知识锦集(一)——头文件的格式
写给看我博客的你漫谈头文件头文件对于刚入门的新人来说是个陌生的东西,什么是头文件呢?它和我们写的.c文件有什么区别呢?这个问题对于我来说有段认识的过程#include <stdio.h>早期我接触C语言第一件事就是hello world的程序。当时急于去了每个东西,对hello world每个部分都刨根问底,其中最让我困惑的莫过于头文件了。我问过C语言老师,他们说你理解成一个工具箱。我去问过学长,他们说是包括了一个头文件。我去百度过,百度说std是标准库,io是输入输出流,.h是文件的后
2021-01-19 18:24:21
4825
原创 LVGL学习之路——模拟器实现简易计算器
#include "../../lv_examples.h"#include "test.h"#include <Windows.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#define MAX_NUM 10 // 设置文本框显示最大位数static lv_obj_t* ta; // 文本框对象static lv_obj_t*
2020-12-01 11:45:24
2126
5
原创 LVGL学习之路——基于lv_lib_freetype库的TTF字体文件动态加载中文字体(阿里普惠字体)
前言 在学习lvgl中,在英文字体上很多人都用过,但是中文字体往往需要靠取模去实现。那么我就在想,如何像windows那样加载动态的字体呢,这样想做多大字体都行。于是就开始了字体的移植。什么是ttf字体: 字库是输出设备的一个组成部分。由于汉字不同于西方字体,字符集非常庞大,不能用单字节表示,因此postscript level i的rip不能使用汉字,很多西文软件也不支持汉字。桌面出版系统使用的字库有两种标准: postscript字库和truetype字库。这两种字体标准都是采用曲线方式描述
2020-11-27 15:14:55
9822
1
原创 LVGL学习之路——LVGL模拟器使用之日历控件的建立
关于如何创建lvgl模拟器和如何插入自己的程序我已经在上一章说过了,可以看看上一章的如何使用button。这一章主要的就是上代码test.c#include "../../lv_examples.h"#include "test.h"#include <Windows.h>lv_obj_t* calendar;static void event_handler(lv_obj_t* obj, lv_event_t event){ if (event == LV_EVENT
2020-11-19 16:47:38
1603
原创 LVGL学习之路——模拟器的搭建,使用button做出第一个ui界面
LVGL模拟器搭建我用的是vs搭建的模拟器,实际上很简单,去下载最新的vs然后我是选择了接下来,下载安装。再下载官方的模拟器。就可以进行仿真了熟悉模拟器的结构拿到模拟器第一反应就是...
2020-11-18 15:26:32
7607
8
原创 Centos服务器使用日志--安装python3,virtualenv
安装python3这里我为了兼容性好我选择安装python3.6yum update # 更新”应用市场“yum install python36 # 安装python3.6yum install python36-devel # 安装python3.6-dev安装python3.6-dev主要为了你以后pip安装一些外部包用的,玩python自带的库不需要它安装虚拟环境VIRTUALENV这个库是virtual environment的缩写,帮助大家记忆。可以通过它创建pytho
2020-11-12 01:28:52
194
1
原创 Centos服务器使用日志--创建Linux子账户并赋予sudo功能
创建子用户指令示例效果useradd [username]useradd kirto创建名为kirto的子用户su [username]su kirto切换到kirto用户(路径不变)su -[username]su -kirto切换到kirito(路径变为~)赋予子用户sudo权力sudo su - rootecho "kirto ALL=(ALL:ALL) ALL" >> /etc/sudoers # 给用户kirto分配su
2020-11-11 19:52:47
228
转载 Espressif IDF学习之路(1)项目文件结构的理解
概述对于搭建的过程通过乐鑫官方的插件我们基本做到“傻瓜式”搭建开发环境,我们在这个过程中知道安装了一堆乱七八槽的东西但是我们要自己写的时候会懵逼,所以我们需要知道整个工程的结构如何用插件生成一个demo工程1.打开vscode按下F1或者Ctrl+Shift+p,输入esp-idf:新建项目或者esp-idf:create project然后点击。或者直接Ctrl+e 然后松开Ctrl按c。2.然后就是选择文件夹,我们可以选择当前文件夹,也可以选择想要保存的文件夹3.选择模板,第一个是ardui
2020-10-10 19:38:51
1110
转载 Espressif IDF学习之路(0)
一站式搭建windows esp-idfEspressif IDF for VSCode 爬坑之路一:ESP32 的 esp-idf 例子编译与烧录
2020-10-10 16:57:48
354
翻译 ASR6501模组Cortex-M0+ SX1262 PSoC+LoRaWAN节点模块 CubeCell系列AT指令中文手册
CubeCell系列AT指令中文手册0.版权声明1.摘要2.串口设置3. AT指令语法3.1语法概述3.2 AT指令集基础控制指令(括号中为译者注释,并不会显示)用户AT指令用户AT指令执行逻辑“ 普通LoRa模式”专有指令设置LoRa监听/发送参数接收模式接收数据输出模式选择LoRaWAN模式专有指令设置 DevEui设置 AppEui设置AppKey设置NwkSKey设置 AppSKey设置 DevAddr设置 OTAA / ABP mode配置ADR配置LoRaWAN通道掩码触发OTAA访问设置通讯周
2020-07-26 10:57:02
2749
1
原创 基于C语言的C++学习笔记
输入输出的不同 就输入输出而言c语言用的是传统的stdio.h标准输入做到的,实现的方法是通过不定参数达到格式化输出的目的,由于面向过程的变成思路导致它非常的繁琐#include <stdio.h>int main(){ int a; scanf("%d",&a); printf("a = %d\n",a); return 0;} c++则不同,初学者一般都会用iostream这个标准输入输出流,有趣的是c++头文件没有.h,取而代之的是引入了命名空间这个概念,
2020-07-04 17:51:20
300
转载 从0开始的C++学习之路(转载黑马程序员)
从0开始的C++C++基础入门1 C++初识1.1 第一个C++程序1.1.1 创建项目1.1.2 创建文件1.1.3 编写代码1.1.4 运行程序1.2 注释1.3 变量1.4 常量1.5 关键字1.6 标识符命名规则2 数据类型2.1 整型2.2 sizeof关键字2.3 实型(浮点型)2.4 字符型2.5 转义字符2.6 字符串型2.7 布尔类型 bool2.8 数据的输入3 运算符3.1 算术运算符3.2 赋值运算符3.3 比较运算符3.4 逻辑运算符4 程序流程结构4.1 选择结构4.1.1
2020-07-04 17:49:04
1043
原创 c语言printf大家族系列
不定参数系列printfprintf这个最常用,作用是在屏幕上打印格式化的字符串int printf (const char *__format, ...)第一个参数是字符串,第二个参数是…,是不定参数,返回值是格式化后的字符串长度,其中\n\t这种转义符算一个,中文算两个长度#include <stdio.h>int main(void){ char* a="你好"; int num; num = printf(a); // 如果是字符串直接可以把头指
2020-05-10 17:57:47
642
7
原创 基于stm32标准库独立按键的多按键状态机的实现
写在前面 一般引用都写在最后,但是这篇博文对我这个状态机的影响很大,我这里有许多借鉴他的思维。所以写在前面,如有侵权立即删除简单按键检测 一开始学习单片机的时候我接触到按键的时候就知道按键有抖动,记得当初按键消抖分为硬件和软件,硬件上常用于复位按键如下图 软件上来说,最经典的消抖if(KEY1 == 0){ delay_ms(20); // 延时消抖 if(KE...
2020-05-03 14:27:33
12523
19
原创 KiCad学习笔记--快捷键
工程界面图标及其功能图标名称说明原理图编辑器进入原理图编辑界面,画PCB的开始符号编辑器用来自己创建符号库里没出现过的电路元器件PCB编辑器一般是通过原理图进入的,用来给原理图生成的封装图布线等最终的PCB的出处封装编辑器创造那些没有的PCB封装原理图绘制快捷方式快捷键功能说明Ctrl+s保存最常用的保...
2020-03-01 20:55:20
5244
原创 python爬虫(四)爬虫的溯源(爬取mooc某个系列课程)
前言 这次是针对需要网页分析的爬虫,分析过后往往会获得你需要的每节视频源地址,但是假如一节视频课是有很多节课你就必须要去一个个的去搜寻每个视频的源地址,这样一来非常浪费时间而且也没有打到我们的对于爬虫自动化的需求,于是我们就需要去对整个页面进行分析试图把它连根拔起。这次我们准备爬取的是mooc里的猴博士电路系列。初次尝试打开我们的mooc找到猴博士的电路系列课程点进去第一课,F12后刷新...
2020-02-24 23:36:27
2532
原创 python爬虫(三)爬取js动态页面之b站粉丝数观看数点赞数爬取
前言自己学习python的初衷就是为了能在支持micropython的芯片上编程,比如早期接触到的openmv,以及拥有arm linux环境的树莓派上(树莓派的python不是micropython)还有后面接触到的esp32和esp8266上编写程序。于是乎进入了python编程的自学行列,经过一段时间在b站看小甲鱼视频后自己的基础知识方面知道的差不多了,后面就想着运用到实际上。于是就接触p...
2020-02-17 12:39:47
4359
原创 python爬虫(二)lxml.etree的使用(五分钟爬取大学生兼职网)
所有用到的库和安装方式需要安装requests模块和lxml模块利用pip安装pip install requestspip install lxml 三分钟解决lxml关于requests库的使用我在上一篇文章上写了所以在这里不多做赘述这里lxml我们用到它的etree库用法如下:首先我们先需要找到我们要爬取的网站https://www.dxsjz.com/part/注意此时...
2019-12-01 02:13:35
1048
原创 基于PyQt5和Qt Designer的简易加法计算器的制作
前言写在文章的前面,我本人写这篇是为了记录自己的学习过程,给后来者一个参考和思路,这并不是特别复杂的东西主要是两天内我看了b站的两篇PyQt5教程PyQt5教程,来自网易云课堂(看到了24课)和Python的Gui编程-PyQt5从入门到项目实战(看到了第23课)对于我本人来说第一篇偏向于ui设计,第二篇比第一篇好,讲的非常细,看到第一篇我很庆幸我看到了第二篇因为第一篇前半部分用大量的笔墨着...
2019-11-30 01:21:06
4542
原创 python爬虫(一)初识requests库
PYTHON爬虫(一)python爬虫对pyhton爬虫理解前端爬取requests库1.获取response对象2.网络状态码3.编码方式4.二进制流输出和编码输出5.数据的保存python爬虫对pyhton爬虫理解网络爬虫:爬取网页前端的数据并且提取其中需要的保存起来前端爬取requests库1.获取response对象import requests #导入requestsres...
2019-11-03 20:45:07
532
原创 基于keil5自动配置stm32f103标准库的官网freertos移植
基于keil5自动配置stm32f103标准库的官网freertos移植前言序言:利用keil5自动配置stm32f103标准库工程闲话正式篇移植官网FreeRTOS前言 当笔者学习stm32f103的时候,我是看市面上的野火,正点原子,洋桃电子等视频学习的,除了黑石(我后期才接触到的)其余无一例外的采用手动配置的工程操作流程很复杂容易出错,当笔者进入笔者大学实验室正式学习的时候,笔者指导老...
2019-06-24 19:12:14
4824
1
StateMachine.zip
2020-05-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人