- 博客(49)
- 收藏
- 关注
原创 NRF24L01模块通信实验
数据手册上有很多引脚的介绍,但是我们实际使用的话主要用到其中6个引脚,如下图。其中SPI的四个引脚就不过多介绍了。主要介绍另外两个引脚CE和IRQ。在下一节可以看到,CE的主要功能是用来配置NRF24L01的工作模式的。而另外一个引脚IRQ其实是中断引脚,这里具体解释一下这个引脚的作用是什么。当下面的情况发生时,IRQ引脚会被硬件自动拉低用于提醒我们中断的产生:1、接收到数据时,IRQ引脚会被硬件拉低;2、发送数据成功时,IRQ引脚会被硬件拉低;
2025-01-01 18:31:15
1098
原创 STC8G分别使用P32、P33和P54、P55引脚模拟IIC时遇到的问题(大坑)
首先,使用的是STC8G1K08A这块芯片,因此在模拟IIC时,我最初选择的是P32(SDA)和P33(SCL)引脚,使用PCF8591读写数据都是没有问题的,这时我突发奇想,换一组其他的引脚试试,于是我把引脚定义换成了P54(SCL)和P55(SDA),换了之后却发现,诶?怎么同样的代码换了组IIC引脚定义就不行了呢?读出来的数据全是FF,经过逻辑仪测量也发现,从机该有的响应在总线上找不到。并且P5口的模式我也配置的和P3口是一样的,准双向模式,苦思不得其解。
2024-12-27 11:01:41
430
原创 ESP8266与ESP-01s烧写固件时的操作 以及使用Arduino烧录程序时的操作
不要使用usb线进行连接电脑,连接容易断断续续的,用ch340模块进行连接,,必须连接RX、TX、VCC、GND、RST5个引脚到ch340模块,同时在Arduino下载程序时需要按下FLASH按钮不松手直到程序下载完成!
2024-12-15 14:29:34
248
原创 蓝桥杯单片机实现4x4矩阵键盘及注意事项
在蓝桥杯单片机题目中,通常会使用到矩阵键盘,虽然大部分情况下根本用不到16个按钮,但是为了提高题目的难度,组委会同样会选择矩阵键盘,但是并不会使用到全部的按钮,例如16个按钮中,只选取其中某相邻的四个按钮作为功能按钮,其余按钮不需要实现点击功能,本文将针对这一情况给出实现该功能的代码,代码其实很简单,主要想说明的是后面的注意事项。例如,我们只需要4x4矩阵键盘中右下角的四个按钮,分别是S12,S13,S16,S17,四个按钮。
2024-12-02 15:09:09
428
原创 IIC通信过程时序全面分析
IIC是一种半双工、同步通信协议,一般用于单主机与多从机之间的通讯。IIC有两条通讯线路,一条是SCL,即时钟信号线,另一条是SDA,即数据信号线。主机与从机之间通过SCL与SDA之间产生的组合变化时序,分析出当前主机或从机想要做的动作,从而进行接下来的相应的操作。注意不论是对于主机还是从机而言,这个分析信号变化的过程不需要我们来做,在IIC通信中的硬件其内部有对应的硬件电路来自动实现分析时序的功能,而对于我们程序员而言,我们需要做的只是模拟时序的产生,从而实现想要的动作。
2024-10-29 10:49:36
860
1
原创 STC89C51 UART串口通信 发送数据 接收数据
51单片机内部集成了一个全双工串行通信口,设有两个相互独立但地址相同的数据缓冲器,用于缓存接收到的数据,以及将数据发送出去。UART串口通信相较于I2C,SPI等其他通信方式较为简单,也是最适合入门的一种通信方式。接下来我们具体了解一下UART的工作方式以及如何在单片机上配置串口通信从而实现单片机与主机之间的通信。
2024-10-11 15:58:15
1556
原创 PYQT5打包报错 FileNotFoundError ModuleNotFoundError:No Module named ‘MyImport‘
pyqt5,打包后执行exe程序报错的问题
2024-03-05 14:34:03
679
原创 报错RuntimeError: no valid convolution algorithms available in CuDNN
报错信息RuntimeError: no valid convolution algorithms available in CuDNN看过来
2023-11-08 21:19:36
1399
原创 conda环境中pytorch1.2.0版本安装包安装一直失败解决办法!!!
cuda10.0以及cudnn7.4现在以及安装完成,就差torch的安装了,现在torch我要装的是1.2.0版本的,安装包以及下载好了,安装包都是在这个网站里下载的(
2023-11-08 00:55:36
6212
原创 x轴刻度太密集?如何让x轴刻度非连续显示,如每隔100个数据显示一次?
需要设置的有两个参数,一个是xticks就是x轴的刻度,第二个就是xlabels,就是x轴显示的标签,也就是我们最终想要在x轴上面显示的内容,必须这两个都要设置之后才能正确显示日期,如果不设置labels就会只显示xticks,而xticks仅仅是单纯的数字,没有物理意义,所以不要忘记设置x轴的labels!这里的代码并不能直接在你的电脑上直接使用,你需要先下载相应的数据集,然后将代码中的路径进行相应修改,才能运行此代码!我们以ABC的股票数据集为例,进行适当的调整修改以符合我们的预期。
2023-05-25 16:30:13
2333
4
原创 波士顿房价数据集怎么不见了?
做线性回归的同学大概率会用到一个数据集,即波士顿房价数据集,然而当你从sklearn下载该数据集时,你会惊讶地发现居然下载不了了!!!起初我以为是是什么别的原因导致数据集可能被收回了,结果当我看到一篇文章就感觉,算了不做评价,参加这篇文章。
2023-05-15 16:54:06
2978
3
原创 CSS transition巧妙运用实现动态列表的效果
CSS实现动态列表的效果效果展示HTML代码CSS代码效果展示效果图HTML代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width,
2022-04-22 10:12:48
1188
3
原创 做一个简单的“远程”开关 ESP8266 + APP
本篇文章,我们将做一个超级简单的开关,当你学会该操作后,就可以自己进行一些简单的添加、修改从而实现一些自定义的功能。你可以做一个简单的远程开关,或驱动小车,以及众多有意思的玩意,现在就来跟着我一起学习吧!...
2022-04-03 18:53:14
5326
10
原创 分享一个随手写的简单css效果
随手制作的简单css效果前言效果图代码HTMLCSS介绍推荐Uigradients中国传统配色网站Colordrop前言 刚刚随手写了一个网页,添加了一点css的效果,虽然没有很惊艳,但个人认为有点意思,所以就立刻分享给大家了,有兴趣的小伙伴快来看看吧! 本页面实现了鼠标放置、离开的动态效果以及渐变色背景的效果!提示:本页面实现环境为Chrome浏览器。效果图动图测试代码 代码分为基本的HTML与CSS,下面给出具体代码。HTML<!DOCTYPE html><
2022-04-01 11:29:30
496
原创 MySQL 三个排序方法 row_number()、rank()、dense_rank()
– row_number() rank()跳序 dense_rank()不跳序参照Navicat查询中的"查询各科排名"
2022-03-12 22:06:49
4580
1
原创 同样是引用类型 为什么数组可以被修改后被传出而String不能在方法内被修改后传出 (Java、堆、栈、垃圾回收)
引用类型传参到方法内部后进行修改数据发生了怎样的变化?引言假设有一个要求是这样的,需要你写一个方法在方法内实现对一个数组的排序,那么这应该是很简单的,没有什么可疑问的。现在有一个同样类似的的要求,需要你写一个方法,在方法内部对一个字符串"csdn"进行变换,将其转为大写字符串,我们又该怎么做呢?还是与数组排序那样操作就可以吗?事实上通过实验我们发现并非看上去这么简单,下面就让我们一起讨论其中的一些问题吧!问题引入分析原因结论1.基本类型的变量放在栈里;2.封装类型中,对象放在堆里,对象的引用放
2022-03-10 16:15:40
464
4
原创 通讯录管理系统(简洁版 课程设计)
通讯录管理系统 — 简洁版一、设计要求程序设计格式要求如下:(1)要求使用多文方式实现设计。(2)要求在各个文件内实现结构化设计。(3)每个模块作为一个单独的C文件。(4)系统的各个功能用函数调用的形式实现。(5)宏和数据结构等放在头文件中,并使用条件编译。(6)界面友好(良好的人机互交),程序要有注释。完成一个学生成绩管理系统,具体要求如下:1. 建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等2. 能够提供添加、删除和修改通讯录信息的功能3. 能够提供安不
2021-12-27 22:41:20
25251
29
原创 Java中不同权限修饰符的区别(private protected public 默认修饰)
Java中不同权限修饰符的区别private、protected、public、默认(不加任何修饰符)在Java类的方法定义时,可以添加四种修饰符,不同的修饰符所具有的权限范围是不一样的,本文就这些情况做出了具体的案例情况与分析。下面给出相关的分析过程。private被private修饰的方法,只有在定义该类方法的类中才可调用该私有权限的方法,除此以外,其他任何地方都是没有权限去调用被private修饰的方法,同一个包下的其他类、不同包中的其他类、还是子类(不论是同一个包下的还是不同包下的子类)都无
2021-11-16 23:29:02
1474
原创 关系代数基本运算 数据库
关系代数的八种基本运算并并,就是将两个或多个表并连起来,需要注意的就是在并的过程中,我们并不是直接一笼统地并起来,而且还要对相同的元祖进行合并,即并操作后的表中,相同的元组不可多次出现(该操作需满足表之间数据结构相同的条件)例如R∪S,最后的结果是属于R与S的并集,即新表中的元组一定可以在R或者S中找到。交交,与数学中的交相类似,也就是两个或多个表进行交操作,相同的元组被保留到新表,而不同的被舍弃。(该操作同样需满足数据结构相同的条件)例如R∩S,最后的结果属于R与S的交集,即新表中的元组一定既
2021-09-25 16:08:54
6721
4
原创 一道简单的逻辑运算题
逻辑或运算的简单例题"||"题目若有变量声明如下:int x =5,y = 7,z = 8;执行表达式:z += x++||y++||++z;后,x,y,z 的值分别是( )。A.6,7,9B.6,8,10C.6,8,8D.6,8,1解析题目解析如下答案:A解析:首先我们要知道逻辑或运算“||”具有短路运算的性质,即在判断“||”左右两侧的式子时,一般来说顺序是依次从左往右执行的,但由于短路运算性质,如果“||”左侧的式子为真,那么该逻辑或运算返回的结果即为左侧这个表达式的值,且“
2021-08-26 22:45:51
2155
4
原创 C语言对结构体变量的两种引用方式的分析(“ -> “ 和 ‘ . ‘ )
C语言中对结构体变量不同的引用方式分析 “->” 指向与 '. '指向及相关辨析引言在对结构体变量的引用方式中,有两种最为常见的方式,一种是箭头(->)方式的引用,另一种就是点(.)方式的引用,对于这两种引用方式是有着本质上的区别的,因此我们需要真正弄懂这里边的原理。代码示例代码功能描述定义一个结构体,初始化结构体的值,并输出,然后通过两种不同的方式修改结构体变量的值,最后再次输出修改后的值。代码如下#include"stdio.h"#include"stdlib.h"//定义
2021-08-15 21:19:51
5416
2
原创 MySQL用户创建、登录等(超详细)
MySQL用户的添加、删除、登录、权限设置等内容如何添加用户如何查看用户、如何查看当前用户如何登录其他用户(通过控制台登录,前提是MySQL环境变量已经配置)
2021-07-19 17:52:49
75353
13
原创 通过递归的方法输出目录下的所有文件路径时,遇到的文件输出顺序未按预期输出的现象分析(Java)
通过递归的方法输出目录下的所有文件路径时 文件路径输出顺序异常关键词File类、递归、listFiles()方法 、路径输出异常摘要本篇文章讨论了在通过递归的办法输出一个目录(文件夹)时,递归输出文件路径没有按照正常预期的递归顺序输出文件路径的现象,并对该问题的出现做了相关的分析讲解。所谓的递归的文件路径没有按照正常的预期递归顺序输出,即在控制台输出的第一个文件的文件名称并非是递归遇到的第一个文件的路径。这样解释仍然有些拗口,具体我们通过下面的图文进行解答。问题解释暂时不讲代码部分,先来看问题解
2021-07-06 13:09:07
681
1
原创 List集合的并发异常追根溯源(Java)
List集合中出现的并发异常问题的根源及解决方法也可以近似得认为,当创建一个迭代器iterator后,固定了此迭代器对应的集合元素,此时就不能再对集合List进行添加、删除等数据的修改操作了,一旦进行添加、删除等修改操作,如果再次通过容器进行访问聚合元素的话,就会抛出异常。如果在添加、删除集合中的元素后仍需要进行读取操作的话,有两种方法可供参考。第一种就是通过for循环,对集合进行遍历,注意这里是通过集合遍历,而不是容器;另一种就是如果就是想要通过容器进行遍历的话,就必须再为更新后的集合创建一个新的容器,
2021-06-08 21:54:56
814
原创 函数名前加static与不加static的区别
函数名前有无static的区别在定义函数时,前面有时会有static关键字,有时却没有,static关键字在定义函数时是有它的作用的。加了static关键字的函数,不可调用该类中的非静态成员在另一个地方看到的说法是,加了static关键字后,不需要生成示例对象就可以直接调用该函数(在C++中是这样的,但Java的具体情况还有待考证)其他的限制条件以后会继续增加...
2021-06-02 13:13:28
4521
原创 void*作为函数返回类型(C语言)
void*作为函数的返回类型的情况导入C语言中有一种返回值类型比较特殊,就是void*,void作为返回值我们都很熟悉了,但是一般情况void*作为返回值的情况很少见,因此有些童鞋可能对相关方面有疑惑,当初我也是在一道题中遇到的这种返回类型,并没有明白什么意思,后来查阅了一些资料有了一些了解,现在把我的这些经验分享给大家!void*介绍void* 就是一个任意类型的指针,和void恰恰相反,void* 它并不是空,也不是什么都不返回,而是可以返回一个任意类型的指针,这里需要谨记的有两个点,一就是任意
2021-05-29 12:44:03
24555
3
原创 使用多态时 子类如何调用特有的方法 使用转型(Java)
子类对象调用子类特有的方法(Java多态)在使用多态时,可以让我们把具有共同特性的多个类更加方便地使用,但是简单的多态使用会导致一个很严重的问题,就是子类对象只能调用子类中重写的父类方法,而不能调用子类特有的方法。这是很让人头疼的,Java多态提供了一种解决办法,就是多态的转型。...
2021-05-25 12:40:22
4642
6
空空如也
AMS1117芯片问题
2025-02-12
STC单片机 PCF8563时钟芯片
2024-12-21
单片机串口通信发送数据 串口助手接收的显示乱码
2024-10-11
信号与系统的相关问题提问
2024-05-09
百度之星比赛难度怎么样?
2024-05-01
最优化 最速下降法相关问题
2023-12-17
Transformer
2023-10-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人