草庐IT

STM32读取DS18B20温度,并在OLED上显示

部分代码来源于网络,侵权删本文使用硬件:STM32F103C8T6最小系统板、IIC协议0.96寸OLED屏幕显示、DS18B20传感器 实现功能:在OLED上显示出DS18B20采集到的温度,精确到小数点后一位。DS18B20.c#include"ds18b20.h"#include"delay.h"voidDS18B20_IO_IN(void){ GPIO_InitTypeDefGPIO_InitStructure; GPIO_InitStructure.GPIO_Pin=DS18B20_PIN; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; G

【JDK-20】Windows配置环境变量

在Windows系统中配置Java环境变量一般需要以下步骤。这里我假设你的JDK安装路径是C:\ProgramFiles\Java\jdk-20,你可能需要根据你的实际情况进行调整。找到“我的电脑”或者“此电脑”,右键点击并选择“属性”。在打开的窗口中,找到并点击“高级系统设置”。在新窗口中,找到并点击“环境变量”。在新窗口中,你可以看到两个环境变量列表,一个是用户变量,一个是系统变量。你可以选择在哪个列表中添加Java环境变量。在你选择的列表中,点击“新建”按钮。在新窗口中,输入变量名JAVA_HOME,变量值C:\ProgramFiles\Java\jdk-20,然后点击“确定”。找到名为

Ubuntu20.04 系统安装多个版本的 JDK【多版本jdk切换:sudo update-alternatives --config java】

前言目前Java版本更新很快,每半年推出一个版本,因此我们可能需要在自己的电脑上安装不同版本的JDK,以便于我们学习使用,本文主要介绍了在Ubuntu18.04系统上安装JDK(OpenJDK、OracleJDK)以及管理不同版本JDK(JDK1.8、JDK9、JDK10等)的方法。安装方法第一种:安装系统自带的OpenJDK因为OpenJDK是开源的,所以很多Linux系统上都会自带一个长期支持版本(LTS)的OpenJDK,如OpenJDK-8,因此我们可以通过以下命令很快安装好更新软件源1sudoaptupdate安装1sudoaptinstallopenjdk-8-jdk这种方法最简单

ios - MLKit文本检测异常-[Not A Type _cfTypeID] : message sent to deallocated instance 0x106623e20

我正在尝试创建一个应用程序,使用MLKit的文本检测功能来检测设备相机拍摄的照片中的文本。下面是我的photoOutput方法中的代码,以及它调用的方法的代码:funcphotoOutput(_output:AVCapturePhotoOutput,didFinishProcessingPhotophoto:AVCapturePhoto,error:Error?){print("worked")PHPhotoLibrary.shared().performChanges({letcreationRequest=PHAssetCreationRequest.forAsset()creat

【送书第三期】强势挑战Java,Kotlin杀回TIOBE榜单Top 20!学Kotlin看哪些书?

文章目录前言01《深入实践Kotlin元编程》02《SpringBoot学习指南》03《Kotlin编程实战》文末送书前言与Java一样,Kotlin也是用于Android应用程序开发的编程语言,是Android官方支持的第二种编程语言。2016年Kotlin正式发布,在Android“官宣”后曾在2017年进入TIOBE编程语言排行榜前20,这次回归用了5年多时间。如果说第一次上榜是靠“蹭热点”,那么这次上榜完全是“凭实力”。TIOBE首席执行官PaulJansen认为:Kotlin几乎在所有方面都胜过Java。反对Kotlin的主要论点是Java是一种更成熟的语言,因此有更多的程序员、书籍

ubuntu20.04安装repo

一、下载repo 直接安装repo会报错。zjh@ubuntu:~/work/linux_Sunplus/app$sudoapt-getinstallrepoReadingpackagelists...DoneBuildingdependencytree    Readingstateinformation...DoneE:Unabletolocatepackagerepo(在ubuntu18.04上可以直接安装,但在20.04上就算执行了sudoapt-getupdate也是不能直接安装的)curlhttps://storage.googleapis.com/git-repo-downloa

Ubuntu20.04下vins-mono用自己数据并跑通(手机摄像头/离线)

目录一、数据采集1、安装采集app2、录制问题:找不到录制数据在哪里二、数据打包1、准备打包文件1)kalibr_bagcreater.py2)第三方库utility_functions.py2、打包问题:/usr/bin/env:“python\r”:没有那个文件或目录三、参数标定1、安装kalibr1)安装依赖项2)创建工作空间问题:catkin:未找到命令3)下载及编译2、相机标定1)前期准备2)标定问题:kalibr_calibrate_cameras:未找到命令3、imu标定1)ceres2)依赖项3)安装code_utils问题:Invoking"make-j1-l1"failed

chacha20 算法流程

chacha20算法请参看RFC:7539。下面是我的理解,欢迎指正。chacha20算法的基本思想:加密时,将明文数据与用户之间约定的某些数据进行异或操作,得到密文数据;由异或操作的特点可知,在解密时,只需要将密文数据与用户之间约定的那些数据再次进行异或操作,就得到了明文数据。用相同值异或两次就能恢复出原来的值,所以加密和解密都严格采用同一个程序。从原理上来说,chacha20的加解密过程还是非常简单的。这里面的难点在于理解chacha20中那些用来与明文数据进行异或的数据是如何生成的,这就是chacha20算法的核心所在。大体的流程是这样的:首先,用户之间会约定一些初始的元数据,简单起见,

4-20 mA 电流采集系统设计

https://github.com/AntiFailsafe/4-20mA_Acquisition_Systemhttps://gitee.com/chinghsien/4-20mA_Acquisition_SystemWordsfromauthorThissystemwasdevelopedduringmytimeinUESTC(UniversityofElectronicScienceandTechnologyofChina)roboticteam-LIMITIforRobocon2022ofmainlandChinaandTeamChinaforABURobocon2022.Myfut

ios - Spotify iOS SDK Swift 显示所有 (!) 播放列表 (20+)

我能够在Swift中相当轻松地获得前20个播放列表。funcgetPlaylists(){//DispatchQueue.global(qos:.userInitiated).async{letplayListRequest=try!SPTPlaylistList.createRequestForGettingPlaylists(forUser:session.canonicalUsername,withAccessToken:session.accessToken)Alamofire.request(playListRequest).response{responseinletlis