自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (5)
  • 收藏
  • 关注

原创 串级PID结构及参数调整见解

在设计控制系统中,常用的控制算法为PID,即比例、积分、微分控制器。能够实现对控制对象的物理特性的控制,以期达到特定的运行效果。此外由于PID控制器的灵活特性,可以与其它控制算法进行灵活的组合。在这里以四旋翼飞行器中的俯仰角pitch为例,采用串级PID控制算法进行简要说明。首先的第一个问题,PID控制器在控制过程中,是如何实现对被控对象的控制的?比如设定四旋翼飞行器以仰角为5°的姿态飞行...

2019-05-27 14:46:36 4375 6

原创 基于STM32-RTX-FATFS-U盘操作实现.ini文件读写操作

INI文件以良好的可阅读与修改特性,在程序运行初期,能够提供一些初始变量。使用C++进行程序编写过程中,微软官方提供了良好的文件操作API,便于直接使用。但是在嵌入式操作系统中,缺乏一套良好的方法。现参考https://github.com/wernsey/rengine/blob/master/src/ini.c提供的方式,结合STM32进行实现。另附工程源码。本文基于RTX嵌入式操作系统和...

2019-04-26 18:38:48 1091

原创 Keil自带RTOS操作系统验证例程在STM32上实现

Keil自带的嵌入式操作系统上手简单,配合其自带的教程很容易入门。附例程代码学习过程中发现一个很有趣的验证实验该实验例程包含所有关于RTOS操作系统的例程,方便新手对于嵌入式系统的学习和使用。接下来详细说明以下如何创建该项目。本例程以STM32F103ZE为例,首先创建一个相关项目。其次,加载运行环境按照图中所示打勾即可。接下来右键Sou...

2018-06-28 16:35:39 2633

原创 SX1278 移植笔记

概述项目代码链接。SX1276/77/78所用驱动均相同。SX1278具有LoRa和FSK的调制解调能力1,本过程移植的是LoRa功能。底层代码移植在移植过程中对代码进行了精简,将关于FSK通信部分的代码全部删除。只要是关于FSK的代码和宏定义全部去掉。名称用途适配platform.h平台配置文件需要radio.c无线通信接口源文件,提供无线通信主要实现方法radio.h无线通信接口头文件,提供声明sx1276.csx1276/77/78芯片初

2020-08-15 17:20:13 136

原创 STM32基于Cube实现USB虚拟串口

版本软件版本Cube:5.4.0HAL:STM32Cube FW_F4 V1.24.2Keil:V5.25.2.0硬件版本STM32F407ZGT6目标实现USB虚拟串口功能。重点HeapStack的配置读操作CDC_Receive_FS的改写项目工程源码链接过程Cube配置RCC配置使能外部和内部时钟。SYS配置使用SWD调试,时间基准源采用SysTick。USB_OTG_FS配置该配置选择Device_Only模式,其他配置默认即可。

2020-08-13 10:09:25 172

原创 Python09——文件与文件系统——C#,C对比以及最后结课

心得库操作凡是编程,就离不开对文件的操作。编程语言对于文件的操作大致包括以下几个部分基本操作打开/关闭文件读/写操作辅助操作判断文件当前位置移动文件指针文件格式编码/解码操作等等依据上述功能可以编写一个通用的文件操作库,C语言中常见的小型文件系统为FatFs,C#中官方已经提供好了现成的库文件,在System.IO命名空间中,Python也是内置了文件的常见操作。简化操作相对于C语言,C#提供了using关键字,用于文件打开并使用完成后,系统自动清理功能,Pytho

2020-08-10 22:10:25 52

原创 Python08——模块和datetime模块

模块心得Python 的模块封装的规则采用文件夹结构设计。通过pip下载安装的模块可以理解为将指定文件夹下载到指定路径下即可。关于模块的概念,以下描述比较形象:容器 -> 数据的封装函数 -> 语句的封装类 -> 方法和属性的封装模块 -> 程序文件所以可以将模块理解为许多类的集合。Python 导入模块采用import关键字,类似的,C中采用#include预编译,C#采用using关键字。Python 中的import可以导入模块中的指定类,同时

2020-08-07 20:25:19 40

原创 Task07——类与对象、魔法方法

类与对象心得公有私有。在变量或者方法名称前面添加__表示为私有。需要调用子类重写的父类方法时,可以通过:调用父类未绑定的方法使用super函数类、类对象和实例对象类属于一个抽象的概念。类对象是类概念的具象化,需要内存空间进行存放。实例对象是将类对象实例化的过程。类属性和实例属性区别:类属性:类外面,可以通过实例对象.类属性和类名.类属性进行调用。类里面,通过self.类属性和类名.类属性进行调用。实例属性 :类外面,可以通过实例对象.实例属性调用。类里面,通过self

2020-08-05 22:26:40 62

原创 Python06——函数与lambda表达式

函数心得在编程过程中,通常可以将某一种常用的方法编写成函数的形式。使用不同的编程语言,函数会有不同的表达形式,例如:关于格式C/C++/C#格式:void Fun(void* arg){ // do something}Python格式:def fun(arg): # do something pass Matlab格式:function fun(arg)% do somethingend关于注释良好的注释可以很好的帮助使用者理解和运用程序,是方便人与人之间沟通交流使

2020-08-02 19:06:43 53

原创 Python05——字典、集合以及序列

字典心得在资料《Python编程入门》1中说,判断一个数据类型是否可变,可采用两种方法:麻烦方法:用 id(X) 函数,对 X 进行某种操作,比较操作前后的 id ,如果不一样,则 X 不可变,如果一样,则 X 可变。便捷方法:用 hash(X) ,只要不报错,证明 X 可被哈希,即不可变,反过来不可被哈希,即可变。方法1.当下并没有理解,查阅Python的官方帮助文档,有以下解释:id(object)Return the “identity” of an object. Th

2020-07-31 21:28:08 42

原创 Python04——列表、元组以及字符串

心得列表是一种常用的数据结构,可以存储一些有关联,批量的数据。比如人员信息管理、图书信息管理等。C语言中使用数组可以完成列表的功能,针对按索引查找元素功能十分快捷,但是其他常用功能又具有局限性,例如在任意位置插入元素、任意扩大或缩小其容量等。为了弥补这些缺陷,通过设计巧妙的数据结构可以解决上述问题,例如设计一个带有双向指针的链表即可,该链条库通常具备初始化、增删查、排序等常用API接口。不过设计链表需要具备一定的编程基础,对于初学者而言并不友好。typedef enum _DataType_e{

2020-07-25 21:39:34 77

原创 Python03——异常处理——Python和C#简单对比

心得异常处理在C#中接触过,形式大致相同。PythonC#try-excepttry-catchtry-except-finallytry-catch-finallytry-except-else异常是程序在运行过程中检测到了错误,从而触发了计算机预定的异常处理程序,然后根据异常错误信息进行相应的处理,而不影响程序大体的正常运行1。错误的出现并不总是编写程序的人的原因2,也有可能是用户导致的。比如程序需要通过用户输入获取一个整型变量,但是用户在实际输入过程中可

2020-07-24 21:21:30 48

原创 Python02——条件循环——推导式+循环分支

心得python的条件循环结构大体同C、C#一样,感触最大的不同点在于python中的循环结构有else分支,这一点确实比较新奇。python的for循环更加多样化,同C和C#中的for不同的是,python中的for循环是一个迭代器,可以遍历任何有序序列,也可以遍历任何可迭代对象。迭代器这个有点像C#中的foreach(我先学的C#,所以这里将python作为后来者进行对比)。不过在使用python的for循环过程中,有一点不太方便的地方在于更改其索引序号。当然从换一个角度,可以使用while循环实现

2020-07-23 22:44:44 61

原创 Python学习02——位运算——涨知识

文章目录学习内容习题引用学习内容今天进行位运算学习。通常进行数值运算过程中,为了符合人类常用习惯,选取10进制方式。而对于计算机而言,数据在其内部的存储的最小单元为bit其值为0或1。故其运算选取2进制方式。其实数据不管何种表达形式 都有其运算法则,常见的四则运算、逻辑运算等。同样为了方便计算运行,对2进制数据设计了相应的运算法则,包括:名称操作符按位非~按位与&按位或|按位异或^按位左移<<按位右移>>

2020-07-22 20:49:48 48

原创 Python学习01——变量、运算符、数据类型及位运算——C、C#比较

这里写自定义目录标题Task01——变量、运算符、数据类型及位运算注释运算符算术运算符比较运算符逻辑运算符位运算符三元运算符其他运算符PythonC#运算符的优先级变量和赋值数据类型与转换Task01——变量、运算符、数据类型及位运算今天开始新的征程——Python系统化学习。从入门开始,借助这个机会也想比较一下Python、C、C#语言之间的异同。从最基础的开始,认识编程世界里面的基石——变量、运算符、数据类型及位运算。注释语言类别PythonCC#单行注释#///

2020-07-21 22:23:41 85

原创 PS学习理解

写在最前面,课程资源由慕课提供,听取的课程是由浙江大学刘国柱老师主讲的Photoshop精讲精练。有兴趣的朋友可以点击连接进行学习。学习PS有20天左右了,总共47课时的学习课程,已经走过了20课时,在此期间初步掌握了使用PS的基本技巧,主要有以下几个方面:PS软件界面的构成,对工具软件有一个感性认识; PS常用工具的学习和初步使用,了解常用工具的位置及其简单作用; 认识PS对选区的设...

2020-04-12 17:42:05 142

原创 Task27——分发饼干

题目:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:你可以假设胃口值...

2020-03-27 20:21:15 30

原创 Task26——判断子序列

题目:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例 ...

2020-03-26 22:31:53 32

原创 Task25——买卖股票的最佳时机

题目:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出...

2020-03-25 19:40:09 48

原创 Task24——恢复二叉树(待更新)

题目:二叉搜索树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。示例 1:输入: [1,3,null,null,2] 1 /3 \ 2输出: [3,1,null,null,2] 3 /1 \ 2示例 2:输入: [3,1,4,null,null,2] 3/ \1 4 / 2...

2020-03-24 22:55:37 38

原创 Task23——不同的二叉搜索树 II(带更新)

题目:给定一个整数 n,生成所有由 1 ... n 为节点所组成的二叉搜索树。示例:输入: 3输出:[ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3]]解释:以上的输出对应以下 5 种不同结构的二叉搜索树: 1 3 3...

2020-03-23 22:37:02 29

原创 Task22——二叉树的中序遍历

题目:给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶: 递归算法很简单,你可以通过迭代算法完成吗?解题:递归算法/** * Definition for a binary tree node. * public class TreeNode { *...

2020-03-22 10:03:54 45

原创 Task21——二叉树的最大深度

题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。解题:/** * Definition for a bina...

2020-03-21 19:59:48 26

原创 Task20——对称二叉树

题目:给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3说明:如果你可以运用递归和迭代...

2020-03-21 00:03:05 51

原创 Task19——相同的树

题目:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: ...

2020-03-19 23:03:44 26

原创 Task18——正则表达式匹配(待更新)

题目:给你一个字符串s和一个字符规律p,请你来实现一个支持 '.'和'*'的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。说明:s可能为空,且只包含从a-z的小写字母。 p可能为空,且只包含从a-z的小写字母,以及字符.和*。示例 1:输入:...

2020-03-18 23:54:49 39

原创 Task17——最长回文

题目:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"解题:public class Solution { public string LongestPalindrome(strin...

2020-03-17 22:09:09 33

原创 Task16——无重复字符的最长子串

题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长...

2020-03-16 21:57:55 35

原创 Task15——有效的括号

题目:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出...

2020-03-15 11:59:28 47

原创 Task14——最长公共前缀

题目:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。解题:public class...

2020-03-14 10:33:40 51

原创 Task13——罗马数字转整数

题目:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并...

2020-03-12 20:56:05 28

原创 Task12——合并K个排序链表

题目:合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6解题:/** * Definition for singly-linked list. * s...

2020-03-12 20:43:09 35

原创 Task11——删除链表的倒数第N个节点

题目:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。解题:/** * Definition for singly-linked list. * s...

2020-03-10 22:33:41 39

原创 Task10——两数相加

题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0...

2020-03-10 22:27:38 43

原创 Task9——环形链表

题目:给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0...

2020-03-08 22:42:05 39

原创 Task8——删除排序链表中的重复元素

题目:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3解题:/** * Definition for singly-linked list. * struct ListNode {...

2020-03-08 22:37:45 39

原创 Task07——合并两个有序链表

题目:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题:/** * Definition for singly-linked list. * struct ListNode { * ...

2020-03-06 22:22:11 36

原创 Task06——买卖股票的最佳时机 III(有待更新)

前言:本题自己还没有思考明白,先借鉴网上的方法进行提交,随后在更新自己的理解。本题使用C#编程。题目:给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [3,3,5,0,0,3,1,4]输出: 6...

2020-03-06 22:15:47 35

原创 Task5——最接近的三数之和

前言:本题采用C#编程。题目:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).解...

2020-03-05 20:35:46 65

原创 Task4——三数之和

目录前言:题目:解题过程:解题结果:解题思路:来源:前言:由于不太清楚官方给出的C代码接口格式,所以本题使用C#进行解答。题目:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 num...

2020-03-03 22:27:16 44

STM32F407ZG_VCP.zip

通过USB虚拟串口,节省硬件串口设计。内部包含工程使用说明,Cube和Keil工程,和ST官方虚拟串口驱动。

2020-08-13

CefSharp动态爬取天天基金历史数据(非源代码)

动态爬取天天基金历史数据,并存储。详情见博客《使用CefSharp动态爬取天天基金网历史基金数据——数据存储(二)》

2020-02-03

SerialPort.rar

关于本资源的说明博客见连接:https://blog.csdn.net/KingQian2018/article/details/92565131

2019-06-23

基于STM32-RTX-FATFS-U盘操作实现.ini文件读写操作

使用STM32生成可以读写INI文件的工程,工程基于RTX嵌入式系统和Fatfs文件操作系统。

2019-04-26

Keil自带操作系统验证例程在STM32上实现

基于Keil自带的嵌入式操作系统在STM32环境中进行验证实验

2018-06-28

空空如也

空空如也

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

TA关注的人 TA的粉丝

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