• 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
  • 2023-11-12强网新拟态 Reverse Writeup
    fisher真正的验证逻辑在main函数的catch块里,不过走到需要满足输入的sha1的值等于2e95a5c5f9643df668d3965a6cdf19541bc0496b,后面发现没影响直接调进去就行。分析一下,加密流程如下:table='ghijklpqrstuvwxyzABCabcDEFdef0123GHI4567JKL+/MNOmnoPQRSXYZ8TUVW9'flag=i
  • 2023-11-11C++读取单个字符操作
    get()是istream类的成员函数,它有多种重载形式,不过本文只介绍最简单最常用的一种:intget();此函数从输入流中读入一个字符,返回值就是该字符的ASCII码。如果碰到输入的末尾,则返回值为EOF。EOF是EndofFile的缩写。istream类中从输入流(包括文件)中读取数据的成员函数,在把输
  • 2023-10-24其他进制转换成二进制
    0.背景在嵌入式开发中,我们要操作寄存器,都是按bit来操作的,但是我们的数据一般都是十进制或者十六进制,经过一些位运算,很难看明白一个某一位是多少,所以我们开发一个打印函数,来看看具体某一位是多少。一、十进制转二进制https://www.cnblogs.com/haoran123/p/17782069.html转换
  • 2023-09-21软件iic返回值总是0xff
    I2C读取总是0xFF,但是ACK是正常的解决方法_iic读数据都为0xff_程序员圈儿的博客-CSDN博客 I2C读取总是0xFF,但是ACK是正常的解决方法-码上快乐(codeprj.com)
  • 2023-08-22WMCTF 2023 Writeup
    WMCTF2023Writeup人刚分手,打个CTF拿3个二血,1个三血,本来还挺高兴的,只有一血有奖励。好好好,都欺负我是吧。ezAndroiduserName是一个类似RC4的东西,直接复制出来跑,password是变表AES,在.init_array修改了AES的sbox。#include<stdio.h>#include<stdint.h>#include
  • 2023-08-17激光测距传感器TOFSense CAN模式的使用
    随笔记-获取TOFSense的数据之前写了一篇UART的移植以及适用,今天写一篇关于CAN的使用这里就不多介绍了该模块了CAN模式与UART模式一样CAN也是支持主动输出以及查询输出的协议如下图,基于协议可以看到我们需要ArbitrationField中的ID,也就是CAN标识符也可以认为是地址,以及DataF
  • 2023-08-15驱动仅提供32位刷写的情况下如何完成刷写单数字节
    [Ooonly]前情提要:需要刷写一整个app程序,分包刷写,每包字节数为单数,要求CRC校验正确。(芯片底层提供32位全字刷写和16位半字刷写,驱动只整合了32位全字刷写函数)使用32位刷写函数出现的现象:通过keil5观察内存空间发现一包刷写成功一包刷写失败一包刷写成功...一直循环到末尾,刷写失败
  • 2023-08-06MD5加密
    AandroidMD5加密/***MD5加密**@paramstr*@return*/publicstaticStringgetMD5Str(Stringstr){MessageDigestmessageDigest=null;try{messageDigest=MessageDigest.getInstance("MD5"
  • 2023-07-12【雕爷学编程】Arduino动手做(113)---5110液晶屏模块2
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是
  • 2023-07-09【雕爷学编程】Arduino动手做(153)---2.4寸TFT液晶触摸屏模块5
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞