ICode9

精准搜索请尝试: 精确搜索
  • CH57x/CH58x动态广播2022-09-15 15:32:18

    动态广播有两种实现方式: 1.关闭广播,等待关闭上报状态后,更改广播包数据,开启广播。 uint8_t initial_advertising_enable = FALSE; GAPRole_SetParameter(GAPROLE_ADVERT_ENABLED, sizeof(uint8_t), &initial_advertising_enable);//关闭广播 GAPRole_SetParameter(GAPROLE_SCAN_RS

  • TFT-eSPI入门使用教程2022-09-13 14:03:22

    一、准备资料 开发板:ESP32-S3 屏驱动是:ST7789_DRIVER 开发环境:VS Code + PlatformIO 注意:以上是我使用的环境,不一定需要和是使用的东西一样,这里主要是学习TFT-eSPI开源驱 二、获取TFT-eSPI GitHub:https://github.com/Bodmer/TFT_eSPI 三、配置User_Setup.h文件 在路径TFT_eSPI/U

  • C语言:位(bit)与字节(byte)之间的转换2022-09-08 23:33:44

    1. 取出一个字节(byte)中的每一位(bit)代码如下: uint8_t Data = 0x52; uint8_t n[8]={0}; //方法1: n[0] = (Data & 0x01) == 0x01 ? 1 : 0; //等于0 n[1] = (Data & 0x02) == 0x02 ? 1 : 0; //等于1 n[2] = (Data & 0x04) == 0x04 ? 1 : 0; //等于0 n[3] = (Data &

  • 实现串口通信数据帧打包与解析,串口通信可靠传输,屡试不爽的数据封包与状态机数据解析程序2022-08-27 16:30:59

    前言串口通信是一种异步通信方式,收发双方约定好通信速率,通过两根数据线即可简单的时序全双工数据收发。最常用的串口通信协议由1位起始位 8位数据位 1位停止位组成,总共10位,为了提高通信可靠性,也可在停止位前增加 1位奇偶校验位,但同时也增加可开销,每字节数据需要多传1位二进制数。

  • GCM模式查表优化2022-08-17 22:01:33

    一、GCM介绍 GCM 是分组密码的一种工作模式,具体细节可通过 NIST 的文档了解 Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC 二、GHash查表优化 查表优化的思想就是利用预处理生成查找表,在正式运算时利用查表节约操作开销,该优化方案在

  • CH579 CH573 CH582 开关蓝牙/BLE/RF2022-07-20 17:03:03

    蓝牙/BLE/RF开启以后,为了降低功耗或者其他原因要关闭此功能,分几种情况如果是设备模式,未被连接状态 只要关闭广播功能,无线模块就被关闭 uint8_t initial_advertising_enable = FALSE; // Set the GAP Role Parameters GAPRole_SetParameter(GAPROLE_ADVER

  • 关于USB的一些基础概念2022-07-09 11:07:58

    1、USB模式 1.单模式 (1) host only, 使用于内部互联芯片USB做host的情况 (2) device only, 使用于内部互联芯片USB做device的情况 2. otg模式 (1) typec OTG: 基于typec接口 + cclogic的设计方案 (2) phy OTG: 基于GPIO实现USB模式的切换的设计方案   2、总线架构 主从结构,总线

  • 当保存参数使用结构体时必备的开发技巧方式2022-07-06 10:00:08

    1、前言 想必做嵌入式产品开发都遇到过设备需要保存参数,常用的方式就是按照结构体的方式管理参数,保存时将整个结构体数据保存在 Flash 中,方便下次读取。 1.1、目的 本文时分析嵌入式/单片机中参数保存的几种方式的优点和缺点(仅针对单片机/嵌入式开发而言),同时针对以结构体的方式解

  • RT1010SDK上手I2C,GXHT30温湿度传感器2022-06-19 18:05:57

    上一篇上手SDK的GPIO,串口,以及MCUXpresso Config Tools ,接着上期的内容,测试I2C的使用,手上只有这个温湿度传感器,虽然用了几次了,下次一定换个IC测试。直接在SDK中导入evkmimxrt1010_lpi2c_polling_b2b_master工程,本工程是采用查询的方式。步骤如下:<ignore_js_op> <ignore_js_op><ig

  • 得力991CN-LCD屏幕逆向2022-06-10 22:00:24

    去年在海鲜市场低价收了2台得力991CN plus计算器(仿的卡西欧991Plus),功能上没啥好说的,目前基本上也用不到计算器了; 屏幕还不错,显示区域约2.4英寸,分辨率192 * 63 + 顶部20个图标,最近有时间分享下调试过程。 拆开壳,就可以看到焊接在主板上的屏线接口,左侧是屏驱动芯片内部电荷泵使

  • STM32CUbeMAX 串口+DMA中断收发实验2022-05-31 17:32:15

    串口配置: 异步,波特率:19200,每帧:1字节;无校验;1停止位    中断设置:考虑到后期使用freertos,可控制中断配置为:4位抢占优先级,15>=中断优先级级>=5(越低,优先级越高)      DMA设置:以字节为数据单位,内存地址累加 生成工程文件:   在stm32f1xx_it.h 文件添加 #define BUFF_MA

  • 回调函数在命令解析中的应用2022-05-08 23:01:26

    1、回调函数 关于回调函数,在之前的文章《回调函数》已经详解讲解过了,这个文章不再讲解,不太懂的同学请看之前的文章《回调函数》。在之前讲解回调函数中就使用串口作为示例,使用回调函数可以方便封装通讯库,芯片/模块厂家的SDK和部分开源库经常这样做,这样可以实现模块间的解耦,模块化

  • 【C语言】匿名结构体和联合体2022-05-07 23:01:48

    目录匿名结构嵌套实验说明常规用法 匿名结构 匿名结构:在另一个结构中声明结构变量,而无需为其命名的嵌套结构称为匿名结构。 并且可以像访问包含结构中的成员一样访问匿名结构的成员。 嵌套实验 代码: #include <stdio.h> #include <stdint.h> typedef union { struct {

  • ESP32资料搜集2022-04-25 09:01:19

    WEMOS LOLIN32簡介  https://swf.com.tw/?p=1331&cpage=1   ESP32引脚参考  https://www.cnblogs.com/lnsane/p/13756430.html   esp32 FTPclient  https://github.com/ldab/ESP32_FTPClient ESP32:WebServer  https://blog.csdn.net/Naisu_kun/article/details/88572129

  • 从0开始设计_基于STM32F1的RC522读写卡2022-04-22 17:03:36

    从0开始设计_基于STM32F1的RC522读写卡 1.介绍看网上很多RC522的教程都是基于读卡ID的,这个对于很多应用来说其实没有什么用,最近刚好有个项目需要读写卡,而RC522又是非常常用的且不容易缺货的芯片,所以准备用RC522来进行读写卡。2.设备准备首先准备一个开发板和一个RC522模块,开发板这

  • LSM6DS3TH-C 6轴传感器驱动2022-04-16 13:33:40

    LSM6DS3TH-C 6轴传感器驱动 目录LSM6DS3TH-C 6轴传感器驱动说明驱动源码 说明 测试平台:STM32F4 使用说明: 在platform_ReadByte、与platform_WriteByte中实现对应平台的I2C读写操作接口 默认应用接口为弱定义,定义此USER_APP_INTERFACE宏定义可以开启示例的应用接口,用户可自定义自

  • 外设驱动库开发笔记39:按键操作驱动2022-03-20 13:37:52

      按键在我们的项目中是经常使用到的组件。一般来说,我们都是在用到按键时直接针对编码,但这样每次都做很多重复性的工作。所以在这里我们考虑做一般性抽象得到一个可应用于按键操作的通用性驱动程序。 1、功能概述   按键操作在我们的产品种经常用到,一般都是在特定的应用环境中

  • mavlink协议CRC校验2022-03-10 11:31:21

    1 // ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 2 // 3 4 #include <iostream> 5 #define X25_INIT_CRC 0xffff 6 inline void crc_accumulate(uint8_t data, uint16_t *crcAccum) 7 { 8 uint8_t tmp; 9 tmp = data ^

  • STM8驱动RTC芯片DS13022022-03-02 17:04:46

    使用软件:IAR FOR STM8 编程方式:固件库 硬件配套:STM8S105C6T6实验板 目录1. DS1302.h2. DS1302.c3. main.c 1. DS1302.h 引脚定义 函数封装 时间数据结构体定义 数据缓冲区定义 #ifndef __DS1302_H #define __DS1302_H /****************************驱动 RTC 芯片 DS1302******

  • CRC校验2022-02-27 16:02:55

    ​ 一:CRC概念 1.1、参考博客 参考的教程如下: 手算CRC及其实现 CRC校验算法原理分析 一文讲透CRC校验码-附赠C语言实例 CRC校验(手算与直观演示) CRC(循环冗余校验)在线计算 1.2、什么是CRC CRC(Cyclic Redundancy Checksum)是一种纠错技术,代表循环冗余校验和,可以认为在输入端根据一定的

  • STM8驱动SPI接口OLED2022-02-27 15:02:50

    由于中景园电子给出的例程不够全面,因此特地花时间重新整理了一下代码,并加上了其他的功能。本文记录了使用模拟四线 SPI 协议驱动 OLED 的代码。 目录1 oled.h2 oled.c2.1 与初始化相关的函数2.2 唤醒和休眠2.3 与显示相关的函数2.4 显示 ASCII 字符串2.5 显示中文字符串2.6 显示图

  • 循环缓冲区-c2022-02-22 20:34:03

    一个简单的循环缓冲区实现 com_def.h #ifndef __COM_DEF_H__ #define __COM_DEF_H__ #include <stdint.h> #include <stdbool.h> typedef enum _StateFlag { Off = false, On = true, Low = false, High = true, No = false, Yes = true, Invalid = false,

  • LD3320 语音识别模块 开发板集成STC单片机_笔记12022-02-21 23:03:20

    本文章为本人接触LD3320的笔记,供新手参考使用; 目录 硬件及其连接 软件与环境 Keil uVision5 STC-ISP 环境搭建 程序修改及其描述 硬件及其连接 连接 USB 下载器,接上 GND、RXD、TXD、5V,注意 RXD/TXD 必须交叉连接   软件与环境 Keil uVision5                

  • 【各种中断】STM32cubeMX HAL库综合复习2022-01-29 11:02:56

    小蜜蜂老师32cubemx学习笔记,对一些实验过程中可能出现的情况做出解释,对老师做补充,重复性工作ctrl+c/v使用,前期略显粗糙,后续随时更新,有错误感谢指正,根据自己板子的情况对视频中的程序做了调整,比如实在懒得加第二个LED灯~还有手头没有光敏,但有一个土壤湿度~很多地方写了注释,

  • HMAC - SM3/SHA12022-01-28 12:33:33

    11 #ifndef __HMAC_H__ #define __HMAC_H__ #include <stdint.h> void hmac_sm3(const uint8_t *data, uint32_t data_len, const uint8_t *key, uint32_t key_len, uint8_t *out); void hmac_sha1(const uint8_t *data, uint32_t data_len, const uint8_t *key, uin

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有