ICode9

精准搜索请尝试: 精确搜索
  • stm32f103zet红牛开发板STMcubeMX hal库版:03旺宝-红牛-蜂鸣器 SysTick应ongoi2022-09-05 03:04:21

    程序运行后,蜂鸣器发出类似报警声 .蜂鸣器在   pb2上接着。这是一个无源蜂鸣器。不是给电就响。得给一定频率的信号才行。这里用定时器跟gpio生成一定频率的方波。     HAL_Delay(uint32_t Delay)   函数默认就是使用毫秒ms做单位。这里要实现一个用us微秒的延时函数。这是

  • C语言基础之extern的使用。2022-09-01 23:05:08

    Extern的使用一般是在你想要定义一个可以在多个文件之中被使用的变量。 其实很简单只要分为两步: 1.在.c文件之中进行定义变量,例如在main.c之中定义uint32_t flag; 2.在.h文件之中进行变量的声明,例如在main.h之中声明extern uint32_t flag; 然后你只要在任何想使用的.c文件之中把头

  • 寄存器操作2022-09-01 20:00:08

    基本概念 给一个内存空间分配好地址,然后这个特殊的内存空间叫寄存器 stm32寄存器 在stm32f10x.h头文件中实现寄存器映射 #define __IO volatile /*!< defines 'read / write' permissions */ typedef struct { __IO uint32_t CRL; __IO uint32_t CRH;

  • 190. 颠倒二进制位 (二进制数字反转)2022-08-30 00:32:02

    难度简单551收藏分享切换为英文接收动态反馈 颠倒给定的 32 位无符号整数的二进制位。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式

  • md5算法实现原理深剖2022-08-05 14:01:26

    一、基本介绍 MD系列算法是信息摘要三大算法中的一种,全称:Message Digest算法,按照规范版本分为MD2、MD4、MD5三种算法,目前最常用的是MD5版本算法。本文介绍MD5算法的实现原理。 1991年,继 MD4 算法后,罗纳德·李维斯特教授开发了 MD5 算法,将 MD 算法推向成熟。MD5 算法经 MD2、MD3 和

  • ZLMedia中RTCP协议的处理简要分析(4)--source description)2022-07-27 17:37:56

          class RtcpHeader { public: #if __BYTE_ORDER == __BIG_ENDIAN //版本号,固定为2 uint32_t version: 2; //padding,固定为0 uint32_t padding: 1; //reception report count uint32_t report_count: 5; #else //reception report count

  • 图片格式的快速转换:Opencv的Mat格式转换为leptonica的PIX格式2022-07-23 15:03:25

    写这篇博客的原因是,原来网上能找到的Opencv::Mat转leptonica_pix格式效率实在太低了,例如,很多人采用了下面的办法来进行转换 https://stackoverflow.com/questions/39293922/convert-between-opencv-mat-and-leptonica-pix Pix *mat8ToPix(cv::Mat *mat8) { Pix *pixd = pixCre

  • 从cannon的角度理解Layer2 - 3:代码才是最好的老师2022-07-15 10:04:20

    上一次,我们通过一个实际例子梳理了cannon的运行过程,更细节的部分,让我们使用代码的形式进行了解,由于业务流程已经连贯并且完整了,所以,下面的代码部分我将采用知识点的形式进行记录,可能会较为零散,但结合业务进行理解,应该也是轻而易举的 让我们从项目目录开始入手 在开始了解代码之前,

  • 合宙AIR105(二): 时钟设置和延迟函数2022-06-18 15:03:26

    目录 合宙AIR105(一): Keil MDK开发环境, DAP-Link 烧录和调试 合宙AIR105(二): 时钟设置和延迟函数 Air105 的时钟 高频振荡源 芯片支持使用内部振荡源, 或使用外置12MHz晶体 芯片上电复位后 ROM boot 启动过程基于内部12MHz的振荡器 芯片内部集成的12MHz振荡源精度为±2%,

  • STM32时钟系统配置程序源码深入分析2022-06-07 18:32:56

    一、分析程序的目的 最近我在移植实时系统是遇到了一些问题,所以决定深入了解系统时钟的配置过程,当然想要学好stm32的小伙伴也有必要学习好时钟系统的配置,所以我将学习的过程再次记录,有写得不好的地方,望小伙伴指出。 之前我已经记录过一篇关于时钟系统的文章,对程序中不了解的地方可

  • 环形队列 - stream_buffer2022-05-17 11:32:39

      环形队列是一种线性空间的FIFO数据结构,能实现个任务之间的快速数据通信,通常应用于uart、usb等通信中。   环形队列是将数组空间的最后一个元素和第一个元素链接起来的一种环形结构,即数据到达最后一个元素时,就跳转至第一个元素。   环形队列判断空和满的方法:   a.附加一

  • .net delegate 万能适配2022-05-12 16:04:25

    遇到一个技术点,记一下,.net 有一个 Delegate Marshall.GetDelegateForFunctionPointer(IntPtr ptr, Type t) 用来将内存地址映射为一个 delegate,转为 delegate 后就可以对内存段的二进制代码进行 .net 内的调用了。例如 ptr 是 VirtualAlloc 的地址,t 是具有 IntPtr(IntPtr lpStartA

  • starctf re 1wp2022-04-30 19:04:16

    官方wp:https://github.com/sixstars/starctf2022 simple FILE system 运行一下简单分析 其中plantflag_func 根据a3进行运算 如果是1调用一个解密算法 另一个返回随机 猜测a3是判断flag的标志 用动态调试拿一下v4的值 即rdx DEEDBEEF 写脚本解密即可 def ROR(i, index):

  • STM32学习 | RCC__系统时钟篇2022-04-20 17:03:34

    一、理解RCC与时钟树  RCC 即Reset and Clock Control ,意思是复位和时钟控制器,它负责单片机的复位以及时钟的配置。 1.复位 STM32F10xxx支持三种复位形式,分别为系统复位、电源复位和备份区域复位。  (1)系统复位  当发生以下任一事件时,产生一个系统复位: 1. NRST引脚上的低电平(

  • DEX 文件结构解析2022-04-13 15:03:16

    [仅学习笔记]   1.首先编译一个APP,解压缩,在里面找到一个dex file   在Android源码里面是一一对应的 struct Header {     uint8_t magic_[8];  头部固定 标识是一个dexfile pdf jpg 也有自己的头     uint32_t checksum_;  // See also location_checksum_   校

  • 单片机GD32F3X0 STM32的中断总开关汇编代码2022-04-04 13:35:21

      __asm void disableAllInt(void) { CPSID I BX LR } __asm void enableAllInt(void) { CPSIE I BX LR }   __asm void MSR_MSP(uint32_t addr) { MSR MSP, r0 //set Main Stack value BX r14 } void iap_boot_loade

  • .NET学习——1.类型转换表2022-03-20 20:02:23

    内置类型(C# 参考) 下表列出了 C# 内置值类型: C# 类型关键字 .NET 类型 bool System.Boolean byte System.Byte sbyte System.SByte char System.Char decimal System.Decimal double System.Double float System.Single int System.Int32 uint System.UInt

  • 以通俗易懂方式理解结构体2022-03-01 12:58:37

    以stm32官方库为例:定义一个结构体,内部有7个成员 可以理解为:某个学生参与测试,而他有7个属性值可测 而结构体,是一个类型名 类似于int,char typedef struct { __IO uint32_t CRL; __IO uint32_t CRH; __IO uint32_t IDR; __IO uint32_t ODR; __IO uint32_t BSRR; __

  • STM32CubeMX配置DAC、TIM播放音乐2022-02-27 22:58:38

    前言 STM32Cube可以快速实现配置,开发项目很快,如果想深入的掌握底层原理,还是要学会用寄存器配置。STM32cubeMX可以很方便的下载官方文档,包括一些模块说明等,搜索到芯片在"Docs & Resources"中下载即可。 一、STM32CubeMX配置DAC、TIM 1.打开软件(我使用的是v5.5.0),新建工程。 2

  • 嵌入式无操作系统下管理内存和队列(类UCOS II思想)2022-02-24 19:02:00

    例子:存储日志,最多存128条,每条最大1MB。 内存方面 因为嵌入式不适合用动态内存,会产生碎片。这里我们用 u8 data[LOG_SIZE];开辟固定128MB的内存区,再对其分为128个1MB内存块进行管理。 管理方法为:使用一个内存控制块结构体MCB,再编写增删改函数操作MCB进行管理。 队列方面我们使用循

  • 密码认证-SHA加盐密码2022-02-23 22:32:56

    密码认证,首先是密码加密算法,然后密码咋存储 ,如图所示 密码加密分为不可加密和可逆加密算法。安全存储策略,有明文保存和加盐保存,明文保持容易导致密码丢失,一般采用加盐密码保持。注册和认证流程如下: 用户注册一个帐号密码经过哈希加密储存在数据库中。只要密码被写入磁盘,任何时候

  • 布隆过滤器2022-02-22 15:58:36

    布隆过滤器 定义 布隆过滤器是一种概率型数据结构,它的特点是高效的插入和查询,能明确告知某个字符串一定不存在或者可能存在。 布隆过滤器相比传统的查询结构(例如:hash,set,map等数据结构)更加高效,占用空间更小;但是其缺点是它返回的结果是概率性的,也就是说结果存在误差的,虽然这

  • [017] [RT-Thread学习笔记] 线程栈的初始化2022-02-20 14:03:49

    RT-Thread 学习笔记 线程栈初始 化代码分析 打印线程信息 RT-Thread版本:4.0.5 MCU型号:STM32F103R

  • 进程强杀初探2022-02-16 15:34:12

    前言 我们知道在windows操作系统里面有ring0跟ring3的概念(ring1、ring2在windows中并未使用),因为ring0的特权级别是比ring3高的,那么我们肯定不能在ring3调用windows提供的api杀死ring0特权级别的进程,那么这时候我们就需要使用的ring0的函数来强行结束一些处于ring0级别的进程。

  • 基于stm32f1的内部读写flash2022-02-09 20:05:27

    flash是存储芯片的一种,通过特定的程序可以修改里面的数据。FLASH在电子以及半导体领域内往往表示Flash Memory的意思,即平时所说的“闪存”,全名叫Flash EEPROM Memory。 它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还可以快速读取数据(NVRAM的优势),使数据不会

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

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

ICode9版权所有