调试备忘录-nRF24L01P的使用(教程 + 源码)

目录 写在前面 什么是nRF24L01P? nRF24L01P模块的简单介绍 nRF24L01P的工作模式 nRF24L01P模块的初始化简易配置 nRF24L01P模块调试的一些小技巧 附上源码 目录--点击可快速直达 MCU:KEAZ64A MDK:CodeWarrior 11.0 写在前面 因为最近在重写之前项目的代码,以提升系统的稳定性和代码的可读性,所以重新选择了一块nRF24L01P,进行调试。 以下算是一些调试的备忘录吧,如有问题可以通过私信或者邮箱联系我。 什么是nRF24L0
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

文章中图片放大功能的实现

0. JS权限申请 1. 下载zoom.js和zoom.css 下载地址:https://github.com/fat/zoom.js 2. 上传zoom.js和zoom.css 3. 页面定制 CSS 代码 博客园-设置-页面定制CSS代码 1 /*溢出隐藏设置*/ 2 #topics, #mainContent { 3 overflow: visible; 4 } 5 #postDesc { 6 float: none; 7 } 页面定制CSS代码 4. 页脚 HTML 代
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

c# Socket心跳试验,自定义发送包 和 KeepAlive

事前准备 下载Wireshark并安装 打开Wireshark,修改过滤规则:ip.src eq 192.168.3.201 or ip.dst eq 192.168.3.201  如图: 不使用KeepAlive 网上有段代码,可以对socket进行心跳检测,下面贴出部分代码: bool blockingState = socket.Blocking; try { byte[] tm
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

事事有回音,件件有着落,凡事有交待 -- 不如结果说话

一件事情分为提出方和回复方两面,对于两面应该都有要求,否则,这个有交待就要打上引号了 回复方自然是需要有回复有着落,但是提出方也不能因此草率行动。 毕竟按做事的劳动量,有些人只需要嘴上说说,有些人却需要跑断腿了 而且即使事事有着落,也需要看是什么样的事。 漂亮的事干十件,不如实在的事干一件。 所以这个着落,到底什么样的才算是到位? 还是看结果说话吧。
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

Kudu、Hudi和Delta Lake的比较

Kudu、Hudi和Delta Lake的比较 kudu、hudi和delta lake是目前比较热门的支持行级别数据增删改查的存储方案,本文对三者之间进行了比较。 存储机制 kudu 最新的数据保存在内存,称为MemRowSet(行式存储,基于primary key有序), 当MemRowSet写满(默认1G或者120s)后flush到磁盘,形成DiskRowSet(列式存储)。 tablet定期对DiskRowSet执行compaction操作,进行重排序, 清除DeltMemStore中
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

三大认证源码分析

目录 认证组件 权限组件 频率组件 认证组件 通过dispath方法,进入三大认证: 首先看一下请求模块,进入request 进入get_authenticators 方法 可以知道,请求模块二次封装request对象,包含解析模块,还将认证类们的对象存储在请求对象中。 进入三大认证 遍历一个个认证器,完成一个个认证类,每一个配置的认证类都要调用authenticate方法完成认证。返回值是user和auth组成的元组。 权限组件 频率组件 通过dispatch方法 进入频率组件 然后看Sim
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

OpenCV 磨皮-Python

-- #!/bin/python # 祛痘美白 import numpy as np import cv2 def beauty_face(img): ''' Dest =(Src * (100 - Opacity) + (Src + 2 * GuassBlur(EPFFilter(Src) - Src + 128) - 256) * Opacity) /100 ; https://my.oschina.net/wujux/blog/156346
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

Oracle 和 MySQL 在显示数据库名和表名的区别

Oracle 显示数据库名和表名 Oracle 查看表名: select table_name from user_tables; select table_name from dba_tables; select * from all_all_tables; Oracle 查看数据库名: select * from v$database; MySQL 显示数据库名和表名 MySQL 查看表名: show tables; MySQL 查看数据库名: show databases;
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

Django+Celery+redis kombu.exceptions.EncodeError:Object of type is not JSON serializable报错

在本文中例子中遇到问题的各种开发版本如下: Python3.6.8 Django==2.2 celery==4.4.0 kombu==4.6.7 redis==3.3.0 大概的报错如下截图: 是在开发使用celery+redis+django的场景中遇到的错误 kombu.exceptions.EncodeError:Object of type is not JSON serializable 解决方式: 在项目的setting中增加这样的配置,才可以 # celery==4 需要的配置参
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

上机实验题7--求解装载问题

//求解装载问题 #include<stdio.h> #define MAXN 20 int n,W; int maxw; int x[MAXN]; int minm = 32767; void disp(int n){ int i; printf("选取的集装箱:\n"); for(i=1;i<=n;i++) if(x[i] == 1) printf("选取第%d个集装箱\n",i); printf("总重量 = %d\n",maxw); } void Loading(
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

Oracle 按不同时间分组统计

1、按年 select to_char(record_date,'yyyy'), sum(col_8) as total_money from table_name where group by to_char(record_date,'yyyy') 2、按月 select to_char(record_date,'yyyy-mm'), sum(col_8) as total_money from table_name where group by to_char(record_date,
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

Mac iTerm2使用lrzsz

常用上传下载方式 SFTP SCP lrzsz SFTP&SCP过渡到lrzsz原因 工作当中经常会用到Mac和Linux操作系统进行文件交互,例如:上传文件到服务器或者从服务器下载日志到本地进行分析,由于经常登录的服务器权限都是临时授权的,没有公钥进行认证,需要复制密码进行登录,此类服务器如果要进行上传或下载文件需要我们再次输入密码,虽然目前Mac上已经有很多复制多条信息的软件(例如:Alfred)但是每次让我在从这些复制的文本中找密码时也觉得比较麻烦,所以回归到windows和Linux上
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

【转帖】从袁世凯到北伐,一文读懂民国军阀混战史

从袁世凯到北伐,一文读懂民国军阀混战史 https://www.sohu.com/a/364419647_717027?spm=smpc.author.fd-d.3.1578218749217JpnkpLl 2020-01-03 08:29 甲午战争,清政府各军均遭受重创,当时袁世凯极力建议组建现代化军队,但上头就是不听,袁世凯很生气。后来清帝国飘摇欲坠,寻求出路,袁世凯被李鸿章等人联名推荐,成为统领。 袁世凯本人极重练兵,主张变法,为革新奔走呼号。练兵时,他直接采用现代化设备和训练方式,聘请
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

LeetCode 445 两数相加 II

链接:https://leetcode-cn.com/problems/add-two-numbers-ii 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入: (7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4) 输出: 7 -> 8 -> 0 -
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

问题:org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; 不允许有匹配 "[xX][mM][lL]" 的处理指令目标。

2020-01-03 00:00:15.558 [main] WARN o.s.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDep
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

本机使用sparkshell测试s3读写数据小记

//step1 下载spark,我官网下载的spark2.4.4 hadoop2.7.3预编译版本 解压即可以使用 //这里需要注意一点,我本机安装了最新的openjdk13,执行sparksql的时候报错, //解决方法修改spark-env.sh 更新JAVA_HOME=/PATH/TO/JDK8 后解决问题 //step2 使用docker 搭建自有的s3环境 docker run -p 9000:9000 --name minio1 \ -e "MINIO_ACCESS_KEY=min
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

配对游戏(概率DP)

链接:https://ac.nowcoder.com/acm/problem/13333 来源:牛客网 题目描述 美团点评是综合性生活服务平台,覆盖吃喝玩乐。在休闲娱乐版块,有很多轰趴、桌游、密室逃脱类的项目,适合多人一起玩。下面就是出自团队游戏场景中的一个问题。 有 n 个人排成一排,一开始全部面向前方,然后大家一起转身,随机朝左或是朝右转。 转身后,不断检查队列,如果存在两个面对面的相邻的人,则将这两个人从队列中消除;直到不存在两个面对面的相邻的人。 例如 > 表示向右, < 表示向左 队
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

前端模块化——彻底搞懂AMD、CMD、ESM和CommonJS

我们知道,在NodeJS之前,由于没有过于复杂的开发场景,前端是不存在模块化的,后端才有模块化。NodeJS诞生之后,它使用CommonJS的模块化规范。从此,js模块化开始快速发展。 模块化的开发方式可以提供代码复用率,方便进行代码的管理。通常来说,一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数。目前流行的js模块化规范有CommonJS、AMD、CMD以及ES6的模块系统。下面开始一一介绍: CommonJS NodeJS是CommonJS规范的主要实践者,它有四个重要的
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

初探WebService

WebService的使用还是很简单的,主要的使用方法可以按照网上的基础教程参考,也就是添加web application那一套; 然后可以直接在项目中使用,在同解决方案中的另一个项目中“引用服务”,这一步有个要注意的; 就是引用服务前记得先编译就好了,否则会无法引用; webservice想比与webapi有个什么好处呢? 真的是使用起来太方便了,相当于直接调用函数了; 参考如下用法: 1 WeatherWSSoap ws = new WeatherWSSoapClient();//自定义
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0

文本的简单表示 boolean representation count-based Representation tf-idf python实现

1. Boolean representation word_dict = ['我们', '又', '去', '爬山', '今天', '你们', '昨天', '跑步'] def booleanRepresent(user_input): count = {} for word in word_dict: count[word] = 0 for word in user_input: if word in count:
分类: 其他 发布时间: 01-05 20:34 阅读次数: 0