• 2024-09-24STM32驱动1.3寸(0.96寸)OLED显示屏 #基于HAL库#软件IIC通讯
    前言  本文用作记录基于HAL库搭建起来的软件IIC驱动OLED显示器。一、软件IIC原理  只需理解两点:1.IIC是一种通信总线,物理层面用于单片机与OLED的通信。2.软件IIC即模拟硬件IIC的引脚时序,可以灵活配置引脚。IC物理接口:IIC串行总线有两根信号线,一根是双向的数据线SDA,另
  • 2024-09-22(六)Protues仿真STM32单片机控制8x8LED显示
    (六)Protues仿真STM32单片机控制8x8LED显示–ARMFUN1,配置CUBEMX,将PA0~7,PAB0~7配置为GPIOOUTPUT模式2,GPIOA负责8bit数据,高电平有效,GPIOB负责行选则,低电平有效,编写行刷新函数voiddisp_set_row(unsignedchardat,charsel){ GPIOB->ODR=0xff;//关闭行选,防止将数据
  • 2024-09-20逆向中巧遇MISC图片隐藏
    这道题比较有意思,而且因为我对misc并不是很熟悉,发现该题目将flag隐藏在图片的颜色属性,巧妙的跟踪到这些密文位置,拿下题目一血,还是很有参考学习意义的。(题目附件,私信发。)1、图片RGB隐写赛后去查阅了相关资料,发现该题采用了RGB隐写,特此总结一下,帮助读者理解。lsb隐写题在ctf中也经
  • 2024-09-20逆向中巧遇MISC图片隐藏
    这道题比较有意思,而且因为我对misc并不是很熟悉,发现该题目将flag隐藏在图片的颜色属性,巧妙的跟踪到这些密文位置,拿下题目一血,还是很有参考学习意义的。(题目附件,加V:dctintin)1、图片RGB隐写赛后去查阅了相关资料,发现该题采用了RGB隐写,特此总结一下,帮助读者理解。lsb隐写题在ctf
  • 2024-09-16Arduino uno 实现 oled机器表情
    突然想做个表情,但网上几乎没有代码只好自己做一个,如下://接线如下:oled-------arduinoGND    GNDVCC     5VSCL     A5SDA     A4/*OLED显示图片*/#include<Wire.h>#include<Adafruit_GFX.h>#include<Adafruit_SSD1306
  • 2024-09-09CH58x/CH59x/CH57x RF_PHY(2.4g)切换Channel发送接收
    前言:在做某些应用的时候可能需要我们发送或者接收时切换对应的channel。此次完成测试的平台在WCH的CH592F上完成的。在工作发送过程中切换37、38、39三个信道进行轮询发送。具体需要使用最关键的函数是:RF_SetChannel实现代码如下:if(events&channl_37_tx_evt){
  • 2024-09-02Arduino_ESPC3学习笔记
    1、环境搭建(1)官网下载:Arduino-Home(2)配置首选项点灯科技(diandeng.tech)资源下载,点击下载文件——>首选项——>开发管理地址添加开发板地址:https://arduino.me/packages/esp32.json下载社区打包的esp32安装包,直接运行,程序会自动解压到相应位置。重启Arduino配置
  • 2024-07-12php计算两张照片的相似度,范围:0-100
    可以是本地图片也可以是网络图片需要gd库/***计算图片相似度*@param$imagePath1string图片路径1*@param$imagePath2string图片路径2*@returnfloat|int0(完全两张图片)-100(两张一模一样的图片)*/functioncalculateImageSimilarity($imagePath1,$imag
  • 2024-07-08SPI驱动--TM1638
     /*********************************************************************************@fileGPIO_Toggle\main.c*@authorMCDApplicationTeam*@versionV2.0.1*@date18-November-2011*@briefThisfilecontainsthemainfuncti
  • 2024-07-06使用c++实现图形化文件浏览
       代码中使用了SDL2库,需要先安装并正确配置相关的开发环境。还需要添加字体加载和处理的代码,为图方便,省略。#include<iostream>#include<SDL2/SDL.h>#include<SDL2/SDL_image.h>#include<vector>#include<string>#include<filesystem>constintSCREEN
  • 2024-06-16基于51单片机8x8点阵设计
    基于51单片机8x8点阵设计(仿真+程序)功能介绍具体功能:1.用74HC138驱动8x8点阵;2.按键可以切换模式;3.一共4种模式,0~9数字闪出、动态爱心、坦克走动、数字依次向上平移;​演示视频:基于51单片机8x8点阵设计 添加图片注释,不超过140字(可选)程序#include<reg52.h>
  • 2024-06-14转换协议字节
     转换协议字节///<summary>///转换协议字节帮助类///</summary>publicclassByteUtil{///<summary>///byte数组转换int///</summary>///<paramname="src"></param>
  • 2024-05-31java调用科大讯飞离线语音合成SDK --内附完整项目
    科大讯飞语音开放平台基础环境搭建1.用户注册注册科大讯飞开放平台账号2.注册好后先创建一个自己的应用 创建完成后进入应用选择离线语音合成(普通版)可以看到我们开发需要的SDK,选择windowsMSC点击下载。3.选择你刚刚创建的应用,选择windows系统,选择离线语言合成(普通版)
  • 2024-05-28用ESP8266-NodeMCU开发板显示一下我的QQ头像
    诶,说好的自己写esp8266的开发板固件的我回来了。20年说好的,今天回来还愿了ESP8266串口WiFi模块-WiFi杀手今天我们把OLED显示屏也接上,我此次买的是4脚的OLED(128*64),不支持彩色显示的。NodeMCU开发板NodeMCU是一个开源的IoT物联网硬件开发板,由于它支持WIFI功能且使用方法十
  • 2024-05-16esp32笔记[17]-显示网络延迟
    摘要使用esp32c3;使用软件i2c方式驱动ssd1306显示屏显示网络延迟和NTP时间;关键信息开发环境:ArduinoIDE主控:esp32c3显示屏:ssd1306原理简介ping测试网络延迟简介[https://github.com/dvarrel/ESPping][https://blog.csdn.net/qq_31536117/article/details/134757851
  • 2024-05-14Cubemx IIC驱动oled 显示汉字、字母
    OLED实物图: 创建工程1.配置外部晶振 2.配置时钟 3.使能IIC 4.生成代码移植驱动代码移植oled.h#ifndef__OLED_H#define__OLED_H#include"i2c.h"/*OLED控制用函数*/voidOLED_Set_Pos(uint8_tx,uint8_ty);voidOLED_Display_On(void);voidO
  • 2024-04-29golang将uint32与byte[]互转
    packagemainimport( "encoding/binary" "fmt")funcmain(){ //一个长度为4的byte切片,表示一个负数 bytes:=[]byte{0xFF,0xFF,0xFF,0xFF} //将byte切片转换为int32 num:=int32(binary.BigEndian.Uint32(bytes)) fmt.Printf("Byte切片转换为Int32:%d
  • 2024-04-26根据不同的编码格式读取txt文件内容
    参考:https://blog.csdn.net/chiwang1984/article/details/8593240importlombok.extern.slf4j.Slf4j;importjava.io.BufferedReader;importjava.io.DataInputStream;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStreamReader;imp
  • 2024-04-05STM32串行通信驱动LCD12864(使用5V电源,驱动信号用5VFT的引脚(3.3V MCU))
    #include"spi.h"voidSPI_GPIO_Init(void){//hardwaremakePSBlowtoenableserialcommunicationGPIO_InitTypeDefGPIO_InitStruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitStruct.GPIO_Mode=GPIO_Mo
  • 2024-03-25Base64编解码及C++代码实现
    1.Base64是什么?        Base64是一种二进制到文本的编码方式。如果要更具体一点的话,可以认为它是一种将byte数组编码为字符串的方法,而且编码出的字符串只包含ASCII基础字符。        例如字符串mickey0380对应的Base64为bWlja2V5MDM4MA==。其中那个=
  • 2024-02-05无符号数 高低字节变换位置
     //两个字节换位quint16exchangeByte(unsignedshortval){unsignedcharh=val>>8;unsignedcharl=val&0xFF;unsignedshortret=l;ret<<=8;ret|=h;returnret;}//val变为从高到低,如0x11223344变为0x44332211quint
  • 2024-01-31php的SM4加密
     <?php/***Sm4加密解密类*ClassSm4Helper*@packageapp\common\tools*/classSm4{constSM4_CK=[0x00070e15,0x1c232a31,0x383f464d,0x545b6269,0x70777e85,0x8c939aa1,0xa8afb6bd,0xc4cbd2d9,0xe0e7eef5,0xfc030
  • 2024-01-17音频采集转wav文件
    1:short[]数组的帧:音频返回的short[]代表一个音频信号的波形数据。在数字音频处理中,波形数据通常以数字形式表示,而short[]是一种常见的表示方法。在short[]中,每个元素都是一个16位的有符号整数,通常表示一个音频样本的振幅。每个样本对应音频波形中的一个时间点。振幅的值范围
  • 2023-11-16babymips
    注意数据的处理这里出现位运算,大有可能是高低位进行运算了这里有一道类似的题目:[WEEK1]easy_re-努力的大魔王-博客园(cnblogs.com) 但是这里写出逆向代码就不对了,看了wp才知道要用&0xFF来限制每个操作后的字符的位数为8位为什么8位?因为v1是char类型,只有一个字节(8位)
  • 2023-11-16异或规则,两值同为0,不同为1
    0xff^33的结果是:A220B221C222D223正确答案:C0xff11111111(255)00100001(33)异或操作11011110(222)首先0xff表示16进制的ff,即16*15+16=255^:表示的是异或运算符33就是十进制的33,现在将它们两个2进制化表达就是:0xff---->255---->1111111133