自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 嵌软入职day2

本文梳理电控测试中CAN2.0A/B协议核心知识点,涵盖标准帧(11bit ID)与扩展帧(29bit ID)的数据帧结构,重点解析仲裁机制、RTR位作用及DLC定义。强调位填充规则与填充错误(StuffError)成因,指出其常见于总线干扰、硬件故障或波特率不匹配。结合华大F146芯片开发流程,系统阐述从最小系统搭建、需求分析到编码调试的完整开发路径,实现基于IAR与J-Link的嵌入式功能验证。

2026-11-06 11:00:55 152

原创 ARM-day09 adc模数转换器

自然界所有物理量都是模拟量:温度、声音、光照、电压、电阻;芯片只能处理 0/1 数字信号,必须靠 ADC 中转。采量:对连续变化的模拟信号在一定的时间间隔里进行取样,采样频率是每秒采集的样本数最大为1M次/秒。模数转换器 Analog-to-Digital Converter。(电压、电流)转换成单片机、ARM、FPGA 能识别的。4. ADC转换需要经过那几步(ADC工作原理)?6. 你SOC上ADC基准电压是多少V?3. 你所使用的ADC分辨率是多少?5. 什么是逐次逼近法?2. 什么是ADC?

2026-07-28 17:58:45 205

原创 ARM-day10 spi

ADXL345:CPOL = 1,CPHA = 1,空闲SCLK为高电平,SPI从机在上升沿采样。主机通过MOSI发送寄存器地址 -> 主机通过MOSI发送dummy(0x00 0xFF)CPOL = 1, CPHA = 0:SCLK空闲为高电平,SPI下降沿采样。CPOL = 1, CPHA = 1:SCLK空闲为高电平,SPI上升沿采样。CPOL = 0, CPHA = 1:SCLK空闲为低电平,SPI下降沿采样。CPOL = 0,CPHA = 0:SCLK空闲为低电平,SPI上升沿采样。

2026-07-28 17:46:47 34

原创 ARM-day08 I2C协议

主机发送起始信号->从主机发送从机地址和一位写位->等待从机ack-主机向从机发送内部寄存器地址->等待从机ack->重新发送起始信号->主机发送从机地址+读位->等待从机nack应答->主机接收到最后一个字节数据,向从机回复NACK->主机发送结束信号。主机发送起始信号->读取7位从机数据地址和一位写位->等待从机的的ack->主机发送寄存器地址->主机向从机写入寄存器地址->等待从机ack应答->主机发送结束信号。I2C总线要求在总线空闲时需要直高电平,需要上拉电阻阻值4.7k-10k欧姆。

2026-07-24 18:31:05 173

原创 ARM-day07 EPIT GPT UART

1. 什么是EPIT,什么是GPT?GPT(General Purpose Timer)通用定时器EPIT(Enhanced Periodic Interrupt Timer)增强型周期中断定时器2. EPIT和GPT是多少位定时器?向上计数还是向下计数?

2026-07-23 18:01:36 229

原创 ARMday06-IMX6ULL-CCM clock tree

首先在时钟树上配置arm线,arm线不能直接运行,因为24Mhz到996Mhz会导致死机等故障所以通过MMU先在另一条线上配置好后通过MMU切换到主线路上。然后配置PFD,有两个型号528和480,他们分别有四个不同频率的分支需要单独配置,配置完后根据时钟图从左向右通过查手册依次配置三个根时钟。配置时需注意arm-clocks上,先配置step_clk osc_clk线 再由MUX切换到pll1_main_clk运行。GIC支持多少个优先级?GIC 优先级字段为 8bit(0~255),

2026-07-22 17:49:02 200

原创 ARM-day05GPIO中断

MRC:读取cp15寄存器数据MCR:写入cp15寄存器数据内核启动代码的工作流程inline:内联函数inline修饰函数,,不会生成独立函数体、不会产生函数调用栈跳转(blbx汇编指令)。普通函数:调用 → 压栈→跳转执行函数→返回,有开销;内联函数:直接拷贝代码到调用位置,消除调用开销。

2026-07-21 18:19:48 156

原创 ARMday-04 beep

1. ARM工具链中gcc、ld、objcopy、objdump工具的作用?,一站式编译预处理、编译、汇编。ld :输入:多个.o目标文件 + 库文件 (.a) + 链接脚本 (.ld)输出.bin类型文件,生成裸机可烧录镜像objdump:反汇编,查看底层汇编、段、符号、内存布局2. .text段、.bss段、common段、.data段、.rodata段区别?

2026-07-20 18:32:46 233

原创 ARMday02-汇编指令

bic指令: 将操作 数中为bit1的位清0,清0的结果写回到通用寄存器中orr指令:将操作数中为bit1的位置1,置1的结果 写回到通用寄存器中ldr指令:向寄存器中加载一个非立即数,将ram中的数据加载到通用寄存器b: 在函数跳转前 无法将函数返回地址装 入到 lr寄存器bl:在函数跳转前可以将返回地址装入到lr寄存器bx:bx后面加寄存器,可以将寄存器中的地址恢复给pcstmfd:将寄存器的值保存到栈区(入栈)ldmfd:将寄存器的值从栈区取出( 出栈)汇编调用C函数:汇编-》c函数传参:通

2026-07-17 18:39:31 185

原创 ARMday01-

1. RISC和CISC?

2026-07-15 22:38:54 184

原创 单片机day04-ds18b20数字温度传感器

DS18B20传感器参数、通信协议、上拉电阻、线与特性、采集流程、时序。释放总线,总线呈现高电平,初始化过程结束。在主机释放总线后,主动拉低总线(表示传输。内进行采样,此时总线为低电平,主机读到。释放总线,总线由上拉电阻拉为高电平。内进行采样,若总线此时为低电平,则。内进行采样,若总线此时为高电平,则。内采样,此时总线为高电平,主机读到。、主机释放总线,总线呈现高电平。)内部电源:可以通过内部电源为。)暂存器:存放温度、配置参数。主机释放总线,总线呈现高电平。释放总线,总线呈现高电平。

2026-07-14 23:31:50 191

原创 单片机day03-UART

1. 什么是UART?2. UART传输数据顺序?3. 单工、半双工、全双工特点?4. 什么是串行、并行及特点?

2026-07-14 23:20:59 192

原创 单片机day02

1. GPIO输出模式、输入模式输出模式:给定单片机引脚电平,控制引脚的高低电平(LED,数码管,蜂鸣器控制)输入模式:检测引脚电平(检测外部信号,按键检测,ADC信号)2. 中断概念3. 51单片中中断源类型及个数4.什么是外部中断外部中断:引脚电平变化所引发的中断5. 中断处理流程6. 51单片机中有几个定时器两个:定时器0 . 定时器17. 定时器工作模式8. 定时器配置流程9. 8位自动重装载定时器工作原理10.PWM周期。

2026-07-13 19:50:14 197

原创 51单片机day01

NPU:Neural Processing Unit,神经网络处理器,AI推理、AI加速,神经网络处理,卷积算法。MPU:Micro Processing Unit,微处理器,集成度低,只有一块单独的CPU芯片,需要单独外接。1. |:按位或 :对应位的bit进行比较,如果都为0,则结果为 0,如果两个bit中有一个bit。外存: 读写 速度慢,掉电 数据 不丢失,价格便宜 (硬盘、SD卡), 存放 程序、代码、 指令。5. ^: 按位异或,将对应位的 bit进行比较,相同为0,相异为 1。

2026-07-12 22:09:56 240

原创 多任务并发

进程: 正在执行的程序,执行过程中需要消耗cpu和内存程序和进程的区别:程序:1.存放在硬盘的数据指令集合2.静态的3.程序运行时,可以创建出多个进程进程:1.正在执行的程序,在内存中执行指令2.动态过程,具备一定的生命周期3.进程可以实现并发(多任务)4.执行过程中需要消耗cpu和内存,多进程间存在资源竞争。

2026-06-23 09:39:26 30

原创 三,Linux网络编程

网络:不同主机,进程间通信。

2026-06-17 12:33:38 182

原创 Linux应用编程--一、文件编程(IO)

1. 保存数据,掉电数据不丢失,保存在硬盘(外存)2. 一切皆文件(硬盘、鼠标、键盘、显示器、普通文件....)

2026-06-16 20:04:11 235

原创 数据结构day2--单向链表+双向链表的头尾插,(面试常考

实现链表编程一般编写三个文件:main.c link.c link.h。

2026-05-26 21:07:39 231

原创 数据结构--day1

栈的内存分配是连续的,变量的生命周期与函数调用周期一致,函数结束时自动释放。堆的内存分配是动态的,不连续,需要显式申请和释放(如C/C++中的mallocfree或newdelete栈的访问速度更快,因为内存地址连续且分配/释放操作简单。堆的访问速度较慢,需要通过指针间接访问,且可能引发内存碎片问题。栈中变量的生命周期由作用域决定,超出作用域后自动回收。堆中变量的生命周期由程序员控制,忘记释放会导致内存泄漏。在堆上一组用来保存一种或多种特定关系的数据集合(组织和存储数据)。

2026-05-24 19:36:59 234

原创 第八章节 构造数据类型(自定义数据类型)

enum 枚举类型名 变量名;//初始化枚举这个类型,c语言中 当整形变量对待。不建议这么写。default:printf("发呆\n");

2026-05-18 20:24:31 377

原创 C语言-函数-(2)

调用时使用圆括号,(),函数调用运算符 比如add();没有参数且括号不能省略。需要传递参数时1.传递参数的个数需要保持一致2.参数类型需要匹配。

2026-05-10 21:19:45 317

原创 C语言-第五章-函数

1.如果设计函数的时候,没有给定函数返回值的 ,默认是int。如果确实没有什么需要返回的,可以是void。2. 如果函数的执行流程,运行到,return 是返回到,函数的调用处。return后的代码,将不会被执行。3. 参数在传递的过程中,需要保证,参数的个数一致,类型 匹配(类型一致或可以隐式类型转换)。//函数的定义 ,实现具体int add()int a =20;int b =10;return ret;// 返回结果,返回函数调用的地方。int main()

2026-05-07 20:47:13 378

原创 C语言- 第四章 数组

int a=3;// int数据类型 数组名[整形常量];// array 数组名(集合名) int [] 5 可以容纳5个int 的变量// error a是一个变量void b;// 不能有 void类型的变量//不能有 void类型的数组特性:1.单一性 数据类型相同2.连续性 内存空间连续存放3.有序行 元素是有序的2.数组元素的访问数组名[下标];[] 数组下标运算符 , 下标从 0 开始,表示第一个元素下标 ,范围 0 - 容量-1;常量,变量,表达式,类型是整形。

2026-05-06 22:53:33 176

原创 C语言 第三章流程控制

& 与 || 或!两数交换的本质就是引入第三个中间变量来达到目的。截断效应(短路效应)和&& || 有关。函数开始,对某一段代码执行多次后,直到最后。> >= < <= ==(注意和。函数开始,一条挨着一条执行,直到最后。其实if else语句比三目运算符常用。函数开始,有选择性的执行,直到最后。,结果应该是一个逻辑结果。对代码进行选择行的执行。的区别)!的值为真,则执行表达式。的值为假,则执行表达式。

2026-04-27 20:23:58 40

原创 C语言-day1-2

ctrl+shift+ + 终端字体放大ctrl+shift+ - 终端字体缩小ctrl+shift+c 终端复制文本ctrl+shift +v 终端粘贴文本。

2026-04-23 21:04:26 591 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除