- 博客(24)
- 资源 (24)
- 收藏
- 关注
原创 【SPI】之调试笔记
上图是eeprom 下的 WRITE 操作, 可以看出,主机在连续写数据, miso对其 不会产生影响, 在主机发数据的同时,miso 信号线上的数据全为 0xff, 这一点应该可以说明 全双工模式下,RX 和 TX 的状态了, 加深理解 “上图是eeprom 下的 READ 操作,主机发送完读取的page 地址 0x0B , 0x00, 0x00 ,0x00后, 信号线 mosi 上的值全为0x00, 从设备立马就回数据到rx_fifo中了(1.某xx的 ip, 传输模式有 4 种, 分别为,
2024-03-14 16:16:32
800
原创 【soc】— spl&&uboot校验方法
本文主要对 spl&&uboot校验方法进行了描述,分为:外部有存储介质的如(nandFlash,norFlash,emmc,Sd等)且不要求从镜像文件的首地址执行的场景;和外部无存储介质的有校验的,且要求从镜像文件首地址运行的场景,进行了方法简介和结构说明。
2022-11-27 16:31:22
799
原创 解决 “error while loading shared libraries: libpng12.so.0/libmpfr.so.4: cannot open shared object file
解决 "error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory"问题
2022-08-05 15:08:58
5591
1
原创 IMX6ULL_PRO配置交叉编译工具链出现arm-buildroot-linux-gnueabihf-gcc command not find
IMX6ULL_PRO配置交叉编译工具链出现:arm-buildroot-linux-gnueabihf-gcc :command not find
2022-04-16 18:20:33
3953
2
原创 【Linux】makefile
【Linux】makefileVERSION1目标 :依赖规则 命令 1 # VERSION1 2 #---------------------------------------------------------- 3 #app: main.c add.c sub.c div.c mul.c 4 # gcc -o app
2022-02-12 15:30:02
569
原创 【STM32】使用TIM内部计数器(CNT)实现按键长、短按
STM32使用TIM内部计数器(CNT)实现按键长、短按1.工具STM32CUBE、IARSTM32F411VET62.实现2.1案例说明按键:本案例使用PA0,高电平有效(按下引脚电平为1,未按下为0)长按: 按键从按下到释放时间 > 2s短按: 按键从按下到释放时间 < 1s长按功能:LED15翻转1次,调用HAL_GPIO_TogglePin( GPIOD, GPIO_PIN_15);短按功能:LED12翻转1次,调用HAL_GPIO_TogglePin( GP
2021-10-24 15:18:43
7588
原创 【STM32CUBE+IAR+IAP升级】
STM32CUBE+IAR+IAP升级案例应用:利用IAR+串口调试助手对STM32F411VET6进行简单的IAP实现,(代码分为两部分:BootLoader+APP翻转LED)1.工具:IARSTM32CUBEMX串口调试助手IAP预备知识参考:STM32CubeIDE IAP原理讲解,及UART双APP迭代升级IAP实现声明下:本文章参考[sudaroot]的文章STM32CubeIDE IAP原理讲解,及UART双APP迭代升级IAP实现2.工程配置2.1.1简要说下,本案例I
2021-09-19 18:52:19
3822
原创 【STM32CUBEMX + IIC + 光照传感器JSA1130】
STM32CUBEMX + IIC + 光照传感器(JSA1130)案例应用:使用IIC读取光照传感器(JSA1130)的数值,并利用UART打印显示1. 工具IARSTM32CUBEMX开发板STM32F411VET6IIC预备知识见:AT24C02 E2PROM芯片详解2. JSA1130光照传感器2.1.1 JSA1130 器件地址,根据手册ADDR引脚接地, 因此JSA1130器件地址为 0x442.1.2 JSA1130 寄存器;共有7个寄存器 CONFIGURE、 IN
2021-09-11 16:32:06
1986
原创 【STM32】STM32CUBEMX + ADC(单通道,双通道DMA)
STM32CUBEMX + ADC(单通道,双通道DMA)案例应用 :使用ADC采集电压(单通道、单通道+DMA、双通道+DMA),并利用串口打印采集转换后的电压值1.工具IARSTM32CUBEMX开发板STM32F411VET6预备知识参见:STM32】HAL库 STM32CubeMX教程九—ADC2.工程配置2.1 单通道2.1.1系统时钟RCC、SYS配置2.1.2 ADC配置,这里强调2点,使用ADC1——>IN4(通道4),本案例使用F4开发版,在12bit
2021-09-11 11:58:16
20506
13
原创 【STM32CUBEMX+PWM+UART】
【STM32CUBEMX+PWM+UART】1.案例应用 本案例为使用STM32CUBEMX配置TIM2生成PWM捕获信号,并对TIM3,TIM4(也可捕获其它设备输出)输出的PWM波进行捕获(本例捕获上升沿,极性可以自己设置),最后求取并串口打印TIM3,TIM4输出PWM的周期、占空比以及1个周期内高电平的持续时间。2.工具STM32CUBEMXIARSTM32F411VET63.PWM实验3.1.1 STM32CUBEMX 工程配置打开 STM32C
2021-09-04 15:37:50
987
原创 【整型提升】
【整形提升——浅析】1.预备知识1.1 —整形在计算机中的存储对于整形来说,数据在内存中是以补码的形式存储的,Why? 在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值 域统一处理;同时和减法一样也可以统一处理(CPU只有加法器),此外,补码与源码相互转换,其运算过程是相同的,不需要额外的硬件电路。1.2.原码、反码、补码 计算机中的符号数有三种表示方法,即源码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用 0
2021-09-02 20:56:23
225
原创 【STM32】STM32CUBEMX+UART串口调试,循环接受发送数据
STM32CUBEMX+UART串口调试,循环接受发送数据芯片型号:STM32F411VET6工具:开发环境IAR,STM32CUBEMX, 串口调试助手1.引语 ST官方将原来许多的库函数,封装成以HAL(Hardware Abstraction Layer,硬件抽象层)或者LL(Low Layer)起始的库函数,底层驱动实现全部封装起来,只要明白、看懂库函数的实现功能以及API的参数就可以使用,非常方便、效率高。对于之前学习野火或者正点原子的开发人员来说可能有点不适应,在HAL
2021-08-28 22:32:53
3344
原创 【linux】—vimplus,SecureCRT安装
【linux 】—vimplus,SecureCRT安装vimluse:一:所需环境 1.ubuntu (我的是安装了一个VMware Workstation ,linux系统:Ubuntu 18.04.1),可在软件安装管家获取: 2.连网 3.git 环境(如果没装,打开终端输入: sudo apt install git +回车...
2020-03-22 14:00:10
398
1
原创 【C++】pk游戏—(玩转多态)
pk游戏—(玩转多态)本案例为多态应用;武器类属性:基础伤害、特效(吸血、定身、暴击);屠龙刀拥有:吸血、定身、暴击的几率小刀:无任何能力英雄:攻击力、防御、血量、武器、装备武器、攻击怪物怪物:攻击力、防御、血量、攻击英雄核心算法:通过isTrigger判断是否触发特效//系统随机产生 1~100的数字//(例如传进来一个30,然后产生一个随机数,如果这个随机数在1-30之间,则...
2019-11-24 19:46:58
3204
2
原创 【C++】浅谈虚继承
C++——浅谈虚继承问题1:什么是虚继承?为什么要虚继承?虚继承 :是面向对象编程中的一种技术,是指一个指定的基类,在继承体系结构中,将其成员数据实例共享给从这个基类型直接或间接派生的其它类。虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。概念可能不是那么好理解 ,那么我们看如下案例:上述案例中,羊与骆驼是分别是动物的2个派生类,2者之间都继承了动物的数据和函数,而羊驼...
2019-10-16 15:22:25
960
2
原创 【C】将字符串 student a am i或 ( I Am Prammer) 翻转为 i am a student或(Prammer Am I)
1.某公司2019秋招在线笔试题 ;联合体union#include<stdio.h>#include<stdlib.h>#include<string.h>union var{ int a ; char m[5]; int *p;};void test(){ printf("%d\n ",sizeof( union var));}...
2019-09-19 09:10:42
289
1
原创 #if、#ifdef、#ifndef的用法
#if、#ifdef、#ifndef的用法#if 的用法#if 用法的一般格式为:#if 整型常量表达式1 程序段1#elif 整型常量表达式2 程序段2#elif 整型常量表达式3 程序段3#else 程序段4#endif它的意思是:如常“表达式1”的值为真(...
2019-09-12 08:37:12
2838
原创 简单计算器实现
简单计算器实现编译环境vs17,实现功能(+ - * /) int Myadd(int x, int y){ return x + y;}int Mysub(int x, int y){ return x - y;}int Mymul(int x, int y){ return x * y;}int Mydiv(int x, int y){ if ...
2019-08-14 09:09:41
347
1
原创 机器大小端
# 机器大小端1.为什么会有大小端? 这是因为在计算机系统中我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但在c语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),另外,对于位数大于8位的处理器,例如16位或者32位处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如何将多个字节安排的问题。因...
2019-08-08 11:51:22
650
4
原创 C陷阱与缺陷
C陷阱与缺陷1.如下代码:(编译环境vs08版)# include<stdio.h># include<string.h># include<windows.h>int main(){ int i = 0; int arr[10] ={1,2,3,4,5,6,7,8,9,10} ; // printf("%p\n",&am...
2019-03-17 15:23:59
2852
3
原创 如何在一个仓库下创建多条分支,并在每一天上传代码后,都显示绿色方格
在一个仓库下创建多条分支,并在每一天上传代码后,都显示绿色方格1.上一篇已经讲了如何建立仓库并上传代码(如果没有看的建议看下哈)。现在我们在bird这个仓库下操作,图1 可见 只有 1个 branch(分支)。-----分支 ;图2所示,我们点中2_20右键选择 Creat Branch…,然后输入自己要创建的新的分支的 名字(建议不要用中文)。这里我命为one 然后直接ok,图3 ,4所...
2019-03-13 19:58:43
830
2
原创 如何将自己的代码上传到github
如何将自己的代码上传到github### 我自己用的工具是git及小乌龟(下附链接):下面的工具请按顺序安装(注:选择32/64bit安装,第3个为MARKDOWN编辑器下载)1—&amp;amp;amp;amp;amp;amp;amp;amp;gt;:https://git-scm.com/downloads2—&amp;amp;amp;amp;amp;amp;amp;amp;gt;:https://tortoisegit.org/download/
2019-03-05 20:50:42
1019
3
arm generic interrupt controller Architecture version 2.0
2024-09-30
STM32CUBEMX+IAR+IAP应用程序升级(STM32F411VET6)
2021-09-15
STM32F103 DHT11
2019-03-28
串口打印 温湿度 STM32
2019-03-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人