Git 常用命令 Git 常用命令@firestaradmin 人生好像很没意思,但总有很多人在享受着生活,我也不例外 [TOC] Base cmd:创建仓库命令下表列出了 git 创建仓库的命令: 命令 说明 git init 初始化仓库 git clone 拷贝一份远程仓库,也就是下载一个项目。 提交与修改Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。 下表 2021-11-19 NOTE Note Git
宏定义log输出 log输出宏定义 丈夫非无泪,不洒离别间。 首先看几个编译器预定义的变量 C&C++预处理器定义了几个对于程序调试很有用的名字: __func__存放函数的名字 __FILE__存放文件名的字符串字面值 __LINE__存放当前行号的整型字面值 __TIME__存放文件编译时间的字符串字面值 __DATE__存放文件编译日期的字符串字面值 示例: void main() { 2021-11-10 NOTE C&C++ note C&C++
QML Note QML Notes1. 自定义控件新建MyItem.qml 文件,自定义 如下(文件名就是控件名,第一个字母大写) import QtQuick 2.4 Item { id: container property alias cellColor: rectangle.color//cunstom var/property signal clicked(colo 2021-10-29 NOTE QT QT QML
QT ini配置文件 QT 配置文件一、QSettings 类 ini 文件1. 创建ini 文件//创建ini配置文件 QSettings *iniFile = new QSettings("sysConfig.ini", QSettings::IniFormat); arg1:文件路径 arg2:文件格式 当没有文件会创建文件,有文件会打开文件。 2. 设置键值对//索引进入组 这个时候根 2021-10-27 NOTE QT QT ini
UartTransferV20 Design Sheet UartTransferV20 Design Sheet STM32串口烧录BIN/HEX文件 设计书 @author firestaradmin 2021年6月16日 [TOC] 0 BriefUartTransfer Lib is for transfering data by UART, and it is all programmed in C. Can use in em 2021-06-16 PROJECT software Embedded C&C++ Protocol
VSCode编译调试STM32的环境搭建 Keil Compile Option1. One ELF Section per Function 选项One ELF Section per Function 的主要功能是对冗余函数的优化。通过这个选项,可以在最后生成的二进制文件中将冗余函数排除掉(虽然其所在的文件已经参与了编译链接),以便最大程度地优化最后生成的二进制代码。 而该选项实现的机制是将每一个函数作为一个优化的单元,而并非整个文件 2021-05-13 NOTE STM32 STM32 VSCode
VSCode编译调试STM32的环境搭建 VSCode编译调试STM32的环境搭建 深夜了,我很饿,我只是想起床吃个泡面。 @firestaradmin 2021年5月13日00:49:02 一、软件环境安装 VSCode: 主角不用多说。 STM32CubeMX: 用于生成带Makefile的HAL库工程。(本文章后面会介绍如何替换为STD标准库) GNU Arm Embedded Toolchain: arm用的GNU 2021-05-13 NOTE STM32 STM32 VSCode
AD宝典 @firestaradmin Creation is the most precious thing of my life. AD宝典菜单项快捷键设置:CTRL + 鼠标左键点击菜单项 画面操作平移:鼠标右键拖动 缩放:鼠标中键拖动 | CTRL + 鼠标右键拖动 旋转:SHIFT+ 鼠标右键拖动 SCH走线:CTRL + W 对齐到栅格:CTRL + SHIFT + D 器件翻 2020-12-18 NOTE Note Altium Design
CMAKE简明教程 @firestaradmin 2020年12月18日 客路青山外,行舟绿水前。 潮平两岸阔,风正一帆悬。 海日生残夜,江春入旧年。 乡书何处达?归雁洛阳边。 ————《次北固山下》作者:王湾 CMAKE简明教程一、CMake 构建例程目录介绍这是一个 CMake 的多目录,多子工 2020-12-18 NOTE Script Note CMake Script
Python 脚本基础模块 Python 脚本基础模块@firestaradmin 2020年12月15日15:14:34 如果死亡会带来平静,和安息。死去吧。 一、键盘鼠标操作模拟autopy 模块安装:pip3 install autopy 主要用来模拟鼠标和键盘的点击操作。 1. 键盘 这个模块包含控制键盘的函数. 函数按下键或者释放键 autopy.key.toggle(autopy.key.Code.UP_A 2020-12-15 NOTE Python Windows Python
WIN10右键菜单 Created @firestaradmin 2020年12月11日15:34:07 WIN10右键菜单一、新建文件的快捷键设置这里以TXT 文件为例 1、WIN + R 输入 regedit 打开注册表编辑器 2、定位到 HKEY_CLASSES_ROOT\Local Settings\MuiCache\63\AAF68885 (这个路径的 63 不同电脑是不同的,以自己的为准) 2020-12-11 NOTE WIN10 Windows
Linux文件共享 Linux文件共享@firestaradmin 2020年12月10日 NFSNFS 服务端sudo apt-get install nfs-kernel-server rpcbind 安装完成后创建一个nfs文件夹,以后需要通过网络用的文件都放这里.xxxx/nfs 之后配置文件/etc/exports: sudo vi /etc/exports 在文件末尾添加如下所示内 2020-12-10 NOTE Linux Linux Share
Keil_C++环境移植第三方库出现类型错误问题解决 Keil_C++环境移植第三方库出现类型错误问题解决@firestaradmin 2020年12月8日16:28:18 死亡如风,常伴吾身。 Keil里实现C++环境编程,在C/C++ 选项卡中 添加Misc 功能,添加--cpp11 即可支持C++。 可是在移植一些第三方库的时候会出现问题,比如说FreeRTOS、USB库等等。 如以下编译错误: ..\OS\FreeRT 2020-12-08 NOTE STM32 STM32 C++
UVGUI屏幕刷新原理 UVGUI屏幕刷新原理@firestaradmin 2020年12月9日17:39:32 我还在寻找回家的路。长路漫漫,唯剑作伴。 ——亚索 一、数据结构核心结构体为 ug_disp_t,UVGUI 支持同时驱动多个屏幕,每个屏幕对应一个disp 结构体,disp 定义如下: /** * Display structure. * @note `ug_disp_drv_t` sho 2020-12-07 NOTE UVGUI UVGUI
UVGUI抗锯齿字模符号显示原理 UVGUI抗锯齿字模符号显示原理@firestaradmin 2020年12月7日14:24:50 一、浅析LVGL Label显示原理绘制 label 过程: lv_draw_label -》 lv_draw_letter -》draw_letter_normal lv_draw_label函数原型如下: /** * Write a text * @param coords coordina 2020-12-07 NOTE UVGUI UVGUI
STM32移植FreeRTOS @firestaradmin 2020年12月2日15:47:03 STM32移植FreeRTOS操作记录一、获取源码 获取STM32 官方STD 库 获取FreeRTOS V10.0.1 (版本不同,大致步骤相似,见招拆招即可) 二、移植步骤1| 添加FreeRTOS 库解压缩后,在工程目录创建OS\FreeRTOS 文件夹,将 FreeRTOSv10.0.1\FreeRTOS\Source 2020-12-02 NOTE FreeRTOS STM32 FreeRTOS
FreeRTOS中断浅析 @firestaradmin 2020年11月27日16:06:56 FreeRTOS中断浅析一、STM32中断屏蔽的特殊寄存器我们在 STM32 上移植 FreeRTOS 的时候需要重点关注 PRIMASK、FAULTMASK 和 BASEPRI 这三个寄存器,本节就来学习一下这三个寄存器。 1 、PRIMASK 和 和 FAULTMASK 寄存器在许多应用中,需要暂时屏蔽所有的中断一执行一些 2020-11-27 NOTE FreeRTOS STM32 FreeRTOS
晶振电容选取 晶振电容选取数字电路中往往会需要一个时钟源,常用的比如晶体振荡器(oscillator、有源晶振)、晶体(crystal、无源晶振)等,一般晶体用的更多些。对于晶体来说,一般电路设计时会在晶体两端各接一个电容到地,如下图所示: 上面电路中晶体两端的电容是用来匹配晶体的负载电容(CL:Load Capacitance)的,如果负载电容无法满足的话一般会使晶体频率产生偏差,严重的话晶体无法起振。电路 2020-11-19 NOTE Note PCB
UVGUI动态内存分配实现原理 @firestaradmin 2020年10月16日22:10:34 UVGUI 动态内存分配实现原理UVGUI的动态内存管理是仿照LVGL写的,这里做一下记录。 一、数据结构分析UVGUI的动态内存管理,是通过一个入口结构体进行管理和分配,其内存块由 ug_mem_ent_t 结构体表示。定义如下: #define MEM_UNIT uint32_t /*The size of this un 2020-10-18 NOTE UVGUI UVGUI memory
UVGUI链表实现原理 @firestaradmin 2020年10月17日22:08:27 UVGUI 的链表实现原理 UVGUI的链表是参考LVGL GUI库写的,在此做一下记录。 一、数据结构分析/** Dummy type to make handling easier*/ typedef uint8_t ug_ll_node_t; /** Description of a linked list*/ typ 2020-10-18 NOTE UVGUI UVGUI linklist