2 KingQian2018

尚未进行身份认证

我要认证

做点有趣的东西

等级
TA的排名 16w+

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

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

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

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

2020-08-10 22:10:25

Python08——模块和datetime模块

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

2020-08-07 20:25:19

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

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

2020-08-05 22:26:40

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

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

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

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

2020-07-25 21:39:34

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

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

2020-07-24 21:21:30

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

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

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

2020-07-22 20:49:48

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

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

2020-07-21 22:23:41

PS学习理解

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

2020-04-12 17:42:05

Task27——分发饼干

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

2020-03-27 20:21:15

Task26——判断子序列

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

2020-03-26 22:31:53

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

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

2020-03-25 19:40:09

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

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

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

Task21——二叉树的最大深度

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

2020-03-21 19:59:48

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享小兵
    分享小兵
    成功上传3个资源即可获取