自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 华米Zepp小程序开发入门

华米Zepp 小程序开发入门

2022-09-08 01:02:17 2086 1

原创 honor magicbook 16pro

荣耀magicbook16 pro(2021)3050版本拆机

2022-06-26 07:01:39 3360

原创 javascript 之 Promise

Promise基础/** * 在then中直接处理ok和ng的case * start promise * failthis is ng */var p_1=new Promise((ok,ng)=>{ console.log("start promise") // ok("this is ok") ng("this is ng")}).then( hhh=>{ console.log("finish"+hhh) },

2022-02-07 01:17:57 374

原创 Typescript 入门

Typescript 入门(LTS)

2022-01-16 12:28:01 724

原创 流媒体基础之显示比例

显示比例(DAR,PAR,SAR)Display Aspect Ratio (DAR): 显示比率,比如旧电视的比例(4:3),现在常用的比例(16:9),这个值可以理解为现在中可见画面的真实比例Storage Aspect Ratio (SAR): 储存比率,一张图片是很多纵横的像素排列组成的,点集数字化并保存在一块区域,就是一张图片,故名storage。常见的SAR为(19201080,1280720…)Pixel Aspect Ratio (PAR): 像素比率,由2知道,图片是一个点集组成的

2022-01-10 00:25:52 754

原创 Cmake && Ninja

编译工具相关

2021-12-29 02:41:12 6011 1

原创 GTK入门2 signal

GTK of signal测试项目base.c#include "Base.h"#include <string.h> enum{ HELLO_BASE_SIGNAL = 0, LAST_BASE_SIGNAL}; static int basesignals[LAST_BASE_SIGNAL]; G_DEFINE_TYPE(TESTBase,test_base,G_TYPE_OBJECT); static void test_base_init(TESTBase

2021-11-22 02:51:55 889

原创 GTK、Gobject 入门

Gtk 入门environmentTo use gtk2 or gtk3 apps you don’t need to install anything. But, if you want to develop (or even just compile) apps this is what you’re looking for:sudo apt-get install libgtk-3-devcheckdpkg -l libgtk* | grep -e '^i' | grep -e 'libg

2021-11-14 21:17:18 1172

原创 GDB入门

GDB Backtrace项目测试时,hs公司回传用的调试界面是gdb bt的测试页面,看着相当高级,记录下使用方式参考:How to Use GDB Backtrace to Debug Strack Frame using C Example Code首先,编译使用的指令为gdb [filename.c] -o [object name] -ggdb,这样才能够编译成能够调试的文件objectname。不然会出现No symbol table is loaded.的问题。How fix the “

2021-09-27 00:36:02 125

原创 Git 常用命令

基础指令将修改添加到缓存区:git add -A将缓存区提交:git commit -m "your comment"显示当前log:git log(仅包括当前commit的log,也就是如果回退,则只有回退后的log)显示所有历史操作的log:git reflog将缓存区等待git commit 的文件回退到git add 之前的状态git reset .查看当前git add后的文件,不显示untrack(没有git add 的文件)git status -unogit clone [ss

2021-09-12 02:15:44 2720 1

原创 拆机-戴尔3558

戴尔3558工具: 螺丝刀,指甲钳套装重要: 这台设备一开始看后盖位置,大概清楚可以直接换内存和机械,后面同时想把光驱拆下来装机械,但过程中一些问题有很多需要注意的地方。拆开默认的后盖,这部分easy[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dhLAMnbf-1630784472824)(pic\拆机\电脑\戴尔3558\初步.png)]如图只要拆掉默认的螺丝并沿着撬开就可以(撬开的时候,内存和网卡位置不要伸到太里面,以免损伤到)拨开机械硬盘的排线和网

2021-09-05 03:52:30 7618

原创 树莓派基础(raspberry zero)

树莓派入门入门由于买的是没有网络模块的版本,可以使用板子上的串口作为默认的数据显示,raspberry zero 的引脚图修改sd卡boot中的config.txt文件,在最后添加enable_uart=1,连上usb-ttl 模块,使用putty,切换到串口连接状态先连接usb-ttl,后上电,过一会有系统初始化的打印就可以,系统初始化成功后登录username:pi pwd:raspberry,获取rootsudo -i其他操作和ubuntu差不大,毕竟都叫debian爸爸参考树莓派ra

2021-08-08 03:58:42 735

原创 ESP32入门之环境搭建

ESP32入门官方指南快速入门环境搭建(Ubuntu in WSL)WSLVersion:WSL1由于WSL2还不支持串口,所以只能采用WSL1来搭环境,可以采用以下的两种方式系统迁移win中将WSL2的系统迁移可以使用wsl --set-version [system_name] 1,将指定名称的WSL系统迁移到版本1直接装一个新的wsl系统如果原本的系统储存已经很大了,方法一要运行一段时间在确定是WSL1后ls /dev,会看到很多ttyS*的设备号,这些设备号对应win设备管理

2021-06-28 01:12:34 1908 1

原创 shell语法

shell基础语法变量:test="hhhh",注意赋值的等号前后不能有空格,不然可能识别为等值判断使用变量:echo "the string is" ${test}数组arrname[1]=1;arrname[4]="hhh"数组成员类型可以不同且没有长度限制,也可以一次性定义array_name=(value0 value1 value2 value3)arrname[@]和arrname[*]两个都表示数组的所有值,也都可在里面遍历@和*的对比主要是前者输出是行,后者输出以

2021-06-20 19:12:58 161

原创 ubuntu of VM visualBox

ubuntu for VM visualBox系统镜像安装方法创建系统盘点击新建,按照图片,一路点下一步,储存可以选择动态储存和VDI类型,设置的保存位置可以是D盘(省空间)。最后确定即可。会在软件主页面的左列表中增加一个虚拟机。装系统按照图示,对法1创建的系统盘进行设置。最后启动即可。图中1点击设置,3点击后选择虚拟盘,选中自己要装系统的iso文件即可。对于ubuntu的iso文件,可以从官网中直接下载ubuntu。其他也类似。主机ssh连接ubuntu of vmHow

2021-05-24 02:30:52 598

原创 ubuntu for wsl2

ubuntu for wsl2之前在wsl2下的python查看版本时发现python版本相同,以为是链接着win的python,之后发现应该是巧合而已,Ubuntu默认安装了python,nodejs也要在wsl2里面重新装一遍,不过也从侧面看出wsl和win的文件状态的分隔,这在官方参考也提到。Comparing WSL 1 and WSL 2之前提到vhdx文件应该可以通过设置,使wsl2的默认储存位置在指定数据盘,以节省空间,具体操作如下导出当前镜像使用wsl --export [dis

2021-05-05 17:58:35 187

原创 Ubuntu for WSl2

Ubuntu for WSl2在win上使用docker,想要通过容器操作宿主机器的串口,网络上的结果都是在linux系统里面对ubuntu进行修改,在win上,docker是通过wsl2实现的,相关设置都在wsl2中,如果电脑里只装了一个docker,通过docekr info,查看到docker的位置竟然在Docker Root Dir: /var/lib/docker,完全就是一个linux的位置,后经了解,发现win在路径C:\Users\yourname\AppData\Local\Docker

2021-04-03 21:57:14 268

原创 ucos3源码分析资源

ucosiii 源码分析源码资源stm32f103c8csdn优质分析文章UCOS英文释义REG 寄存器CFG (compile-time configuration)编译时配置。CFG.h文件用于管理要使用或者不用的功能,功能裁剪位于该文件中ISR Interrupt Service Routines(中断服务程序)TCB Task Control Block(任务控制块)BSP Board Support PackageCtr Cou

2021-03-28 12:05:44 165

原创 ucos 内核成员分析

优先级ucos3使用64个优先级,每个优先级中可以有多个不同的任务(除了0和末尾优先级)优先级表初始化过程void OS_PrioInit (void){ CPU_DATA i; //无符号整形32 for (i = 0u; i < OS_PRIO_TBL_SIZE; i++) { OSPrioTbl[i] = (CPU_DATA)0;//清空任务表中的任务OS_PRIO_TBL_SIZE=2,相当于只有64个优先级,可以使用cpu函数CPU

2021-03-28 11:58:06 247

原创 UCOS系统总运行原理

系统总运行原理在步进调试时发现,实际上使用OSTaskCreate()在ucos中构建应用的过程,实际上只是创建堆栈,设定应用行为,引导应用函数指针等的数据操作,OSInit()中的设定也是类似,实际都是数据填充,在调试过程中,发现main()中的最后运行函数是;/**************************************************************************************;* 函数名称: OSStartHighRdy;*;* 功能描述

2021-03-28 11:46:51 395

原创 UCOS任务切换

八:任务切换堆栈初始化由于抢占式任务的需要,每个任务需要有自己的任务堆栈,在任务初始化函数OSTaskCreate中,通过传递p_stk_base来指出创建的那部分数组空间,最终在OSTaskStkInit中初始化该数组所储存的最初的数据:通用寄存器的值。由于通用寄存器的内容涉及到程序运行的各个过程,相关内容参考寄存器,此外,由于任务堆栈是从大地址到小的增长方式,所以寄存器的值实际上是放置在任务堆栈的末尾,然后从末尾一点点增加其他的数据的,这一点不要混淆。CPU_STK *OSTaskStkInit

2021-03-26 15:02:35 852

原创 CM3基础(持续更新)

CM3基础操作模式和特权级别参考Cortex-M3操作模式和特权级别总结系统有两种模式,handler模式和线程模式,前者始终位于特权级(用于处理异常),后者有特权和用户级两种。特权级别能够访问更多的数据范围。在系统复位后运行在线程模式的特权级下,位于特权级可以通过置为control[0]来进入用户级,而用户级别要进入特权级,只能被动等待异常出现然后进入handler模式来进入特权级。如下图MSP&PSPSP是堆栈指针,用于指向系统当前使用的堆栈位置,其实际位置取决于MSP或者PSP指

2021-03-26 14:57:16 1279

原创 汇编入门(持续更新)

汇编入门ARM汇编与ARM GNU汇编 区别汇编风格有多种,linux下的gcc是at&t的汇编,此外还有intel和ARM的汇编开始在Linux下使用汇编语言不同风格注释方式都不一样GNU ARM 汇编汇编(ARM)LDRLDR{条件} 目的寄存器 <存储器地址>LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。该指令通常用于从存储器中读取32位的字数据到通用寄存器,然后对数据进行处理。当程序计数器PC作为目的寄存器时,指令从存储器中读取的

2021-03-23 23:20:28 1387

原创 ucos信号量消息队列

消息队列测试代码全局变量static int msg_int;OS_Q DATA_Msg;//消息队列主任务void start_task(void *p_arg){ .... OSQCreate ((OS_Q* )&DATA_Msg, (CPU_CHAR* )"DATA Msg", (OS_MSG_QTY )1, (OS_ERR* )&er

2021-03-16 19:40:33 231

原创 ucos信号量

信号量SEMAPHORES官方释义信号量最初是一种机械的信号机制。铁路工业利用这种装置为多列火车共用的铁路轨道提供了一种互斥形式。在这种形式下,信号量通过关闭一组机械臂来锁定当前使用的铁轨上的火车来向火车发出信号。当轨道可用时,手臂就会向上摆动,等待的火车就会继续前进。在软件中使用信号量作为相互排斥的手段的概念是由荷兰计算机科学家Edgser Dijkstra在1959年发明的。在计算机软件中,信号量是大多数多任务内核提供的一种协议机制。信号量,最初用于控制对共享资源的访问,但现在它们被用于同步。信号

2021-03-14 16:11:26 193

原创 stm32启动原理

stm32启动原理(submitted)非常建议仔细阅读启动过程详解结论:stm32系统启动的初始化过程是由汇编开始分配资源,设定函数基础后开始运行的,在所有汇编程序运行后,系统的运行交由项目中的main()函数,并由此开始以c为首的运行过程。这个过程中,很重要的一点是进行了系统运行前的内存分配,将硬件内存系统(初始时都是静态区)分割为堆区,栈区,静态区,其中,堆栈区原本就是从静态区中分割出来的,在汇编过程中从内存区中分割适合大小的位置给堆栈。对于ucos来说,剩余没有被分割的内存区域(静态区)就是可

2021-03-09 00:17:19 855

原创 Markdown编写公式

Markdown编写公式在markdown中可以使用latex编写公式行中添加函数:$c = \sqrt{a^{2}+b_{xy}^{2}+e^{x}}$c=a2+bxy2+exc = \sqrt{a^{2}+b_{xy}^{2}+e^{x}}c=a2+bxy2​+ex​独立成一行的函数添加方法:$$ c = \sqrt{a^{2}+b_{xy}^{2} +e^{x}} $$c=a2+bxy2+ex c = \sqrt{a^{2}+b_{xy}^{2} +e^{x}} c=a2+bxy2​+e

2021-02-12 15:47:12 1268

原创 Django环境搭建过程记录

Django环境搭建直接使用pip安装django,安装后要在环境变量中添加python安装位置下的Python\Python38-32\ScriptsPython\Python38-32\Lib\site-packages\django这样后面才能使用django的管理程序django-admin. py/django-admin其他操作可以参考django发现django支持热重载,也算是和js差不多了Django在linux环境下启动遇到的问题在windows中修改好环境变量即可使用

2021-02-12 15:19:14 1085 4

原创 Git分支(branch)

Git分支详解环境对于git仓库的搭建和github远程库进行连接,参考Git 入门环境配置一:正常流程远程和本地的仓库状态如下其中,head指向当前工作的分支,origin是远程主机名称本地创建新分支(Test)并将工作分支指定为该分支 git branch Test1 //创建新分支 git checkout Test1 //切换工作分支新分支进行修改提交等的日常操作,本文以下划线+数字表示不同的修改提交可以发现,远程仓库中没有该新分支,

2021-01-23 18:02:48 298

原创 c入门(中)

c/c++语法入门枚举.h//定义枚举enum day{Mon=1,tue,wed,tur,fir,hs,sun};.c#include <stdio.h>#include "test.h"int main(){ enum day test;//创建枚举变量 test = Mon;//设定枚举值 switch (test)//快速判断过程 { case Mon: printf("周一"); bre

2021-01-20 18:35:21 265

原创 C入门(下)

一、文件链接对于c提供的文件,可以直接使用eg:#include<stdio.h>的方式进行链接,对于自己定义的h文件,若c与h文件位于同一文件夹,可直接使用eg:#include "yourselffile.h"进行链接,如果不在同一文件夹,则以相对c文件的位置引用eg:#include "../h_file/test.h二、重定向#define debug#ifdef debug#define ok 1#else#define ok 2#endif明显的ok=1,于是可以

2021-01-20 18:27:34 128

原创 设置电脑主机ip地址

设置电脑主机的ip地址问题描述:制作激光雷达的上位软件,模块是使用网线通信的,模块说明上指定服务端端口为192.168.2.102环境:win10 x64将电脑服务端端口修改为192.168.2.102,操作如下wifi右键转入设置选择更改适配器选项应为使用的是网口连接电脑,所以需要修改电脑里以太网连接的地址,如下按顺序修改就行需要注意的是,默认网关需要填写的话值与ip地址相同,使用后想恢复原状只需要在第4部中选择自动获得ip地址...

2021-01-17 21:51:44 1998

原创 GitHub图床

GitHub之图床github当图床使用的方法了解了,最简单的、安全的方式是创建一个私有库,通过发起issue的方式把想要保存的图片放在issue区title中可以添加便于记忆的字段,虽然大概率以后不会用到,但如果需要时可以使用爬虫爬取issue保存下来,也便于查找之前还有些照片以仓库的形式同步在这个仓库中,但取url这个过程十分麻烦,不过如果是用于储存大量照片的话,使用仓库同步的方式可能不会差,在GitHub上创建版本库并上传本地文件...

2021-01-17 21:41:42 294

原创 API和SDK的区别

api和sdk的区别在新闻中听到sdk擅自获取用户信息的新闻,想了解sdk运行原理,之前也使用过讯飞的sdk开发过,但没有深入了解过运行原理,后了解到,sdk是接口类的程序,在个人程序中添加了对应的sdk文件后,使用时开发者依照接口文件,将对应的值提供给接口文件,接口文件处理后再返回结果(有可能不返回),使用上和api差不多,但需要注意的是,sdk是编译完成的二进制文件,其内容是无法知道的(当然api也无法知晓代码内容),在运行过程中如果通过网络上传了什么信息用户和开发者也不清楚,这也就是sdk盗取用户数

2021-01-17 21:36:30 155

原创 SQL语法

SQL(updating)小看了sql语法的厉害之处了,在做相关项目时,获取特殊数据时,总要编写特别的sql语句,以下为记录查找表中某字段非空的数据行select * from MapPoint where PicMark is not null执行sql语句后返回最新的自增值insert into dbo.MapPoint(Coordinate) values('coordination.SelectedValue')Select @@Identity //执行并返回id执行表删除(sql

2021-01-17 21:30:15 121

原创 vsc 的c环境配置

vsc配置docker容器中的c环境环境:ubuntu,vsc,g++&gcc&gdb(确保有以上的GUN工具,没有安装的可以通过apt安装)创建工程文件夹(test)使用vsc打开该文件夹,在该文件夹中添加hello.c文件,编写简单程序,并通过gcc -g -o hello hello.c编译c文件,生成hello二进制可运行文件,可以使用./hello直接运行该文件。vsc配置在vsc的扩展中安装C/C++安装后按f5,选择C++(GDB/LLDB),选择默认配置,

2021-01-17 00:00:19 1165

原创 C入门(上)

C编译入门环境:ubuntugcc/g++ gcc -o hello.out hello.c //-o表示目标文件 ./hello.out //运行生成hello.out文件,通过g++ -g -c hw2.cpp // -g为生成文件可调试((通过gdb进行调试),-c:Compile and assemble, but do not linkmakefile指令target ... : prereq

2021-01-16 23:34:09 196

原创 Docker入门

Docker环境搭建重装了docker,原本是使用Docker Toolbox进行安装的,但在对应docker开源项目上,开发者说已经不维护docker toolbox,推荐使用 Desktop for Windows Home,这在官网可以直接下载,安装一直next就可以,成功后,可能会遇到WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel的启

2021-01-13 02:07:37 605

原创 Docker for Linux

Docker for Linux之前在win上实现了docker的使用,下面在linux中安装并使用docker环境:Centos在官网中已经包含docker安装的方法Install Docker Engine on CentOS,这里主要说下基于安装包(package)的安装方法,首先按照设备环境选择需要的文件官方链接通过wget [url]的方式,将文件下载到本地,文件都是rpm软件包,可以使用yum localinstall [filepath] 或者 yun install [fil

2021-01-12 16:53:19 333

原创 Vue.js 入门

Vue.js使用npm安装全局安装vue-cil npm install -g vue-cli,结束后使用vue --version测试安装是否成功新建项目在一个文件夹中启动cmd(在文件路径输入cmd就行,回车就进入当前文件夹的cmd路径控制台),输入vue create test-project 创建名为test-project的项目这样创建的项目是不包含部分webpack版本的,config配置文件要自己添加,或者使用以下创建项目vue init webp

2021-01-12 16:29:07 100

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除