自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SPI通信

SPI通信

2024-06-10 17:51:02 1005

原创 异常与外部中断

没有中断的单片机程序是按照指令一条条执行的,这样会导致进程在正常运行的过程中无法被打断去处理其他事情,这样的实时性会比较差。以STM32F3芯片为列:5个优先级分组,高4位有效。分为抢占优先级和响应优先级(亚优先级)。中断是如何产生,CPU如何跳转到中断处理程序运行,然后如何返回原有进程继续执行的。抢占优先级:优先级高的可以抢占优先级低的中断。中断的具体行为:保护现场,中断处理,中断返回。响应优先级:当抢占优先级一样时并且。的情况下,优先处理响应优先级高的。

2024-03-24 20:13:08 234

原创 $27服务

sendkey(发送密钥)"子功能ID = 请求种子子功能ID + 1。7.具体诊断服务,需要在诊断会话下解锁,然后再访问受保护的诊断服务。3.如果最后校验失败则下次解锁应该重新开始,即从请求种子开始。4.如果该安全等级已经解锁,则服务器回复的种子应该是0;6.若服务器被锁定时,客户端请求的安全服务应该被拒绝。如果该安全等级没有解锁,禁止服务器发送值为0的种子。客户端应该检查非零种子,判断服务器是否已经接触安全。5.安全解锁时不得影响车辆通信或其他诊断服务。4.服务器确认密钥并作出影响,密钥正确则解锁。

2024-03-24 14:43:03 377

原创 STM32串口通信

一、串口通信的特性二、STM32串口通信模块三、STM32串口通信实验

2024-03-21 10:28:15 735

原创 交叉编译器和Makefile

嵌入式开发一般都是在x86平台下开发,而编译出来的软件要在arm平台上跑,所以需要交叉编译器,交叉的意思就是在一个架构上编译出另一个架构的代码。arm平台一般资源有限,不适合做开发。

2024-01-25 13:43:08 1764

原创 MCU开发从点灯开始

MCU开发

2024-01-24 12:29:48 2503

原创 ARM架构与汇编指令

三级流水线:arm7取指级 :读取指令。译码级 :对指令进行译码。占有“译码逻辑”,不占有“数据路径”。执行级 :指令占有“数据路径”,寄存器堆栈被读取,操作数在桶式移位器中被移位,ALU产生相应的运算结果,并写回目的寄存器中。并根据需求更改状态寄存器的条件位。五级流水线:ARM9六级流水线:ARM10,还有更多级的流水线,但是最基本的就是取指令,译码,执行这三个操作。

2024-01-23 16:39:35 718

原创 MCU项目开发流程

1.若PC13引脚输出为高电平(3.3V),则LED10灯两端都是3.3V会导致没有电流通过LED10,结果LED10为熄灭状态。总结:先由稳定电源给芯片供电,芯片通过程序使对应引脚输出高电平或者低电平,从而控制LED灯的亮灭。b.PCB工程师根据硬件工程师提供的原理图导入PCB绘制工具,根据要求布局布线,输出。根据软件需求,分析需要使用的模块,查看对应的模块原理图,通过配置寄存器驱动模块运行。根据系统需求,提取成软件需求,然后进行软件详细设计,开发相应的功能。d.最后由工厂自动化贴片,完成板卡制作。

2024-01-22 19:33:10 1042

原创 C语言之语句大全

在C语言中,语句(Statement)是构成程序的基本单元,它是一条可执行的指令或操作。每个语句通常以分号(;do-while 和for循环,while循环的区别:do-while先执行后判断因此至少执行一次{}中的语句。上述代码,else与第2的if匹配实际结果是如下形式。在表达式后面加一个分号“;”就构成了表达式语句。用{}括弧括起来的语句称为复合语句(又称为块)。

2023-05-25 22:17:25 452 1

原创 C语言之运算符

C语言运算符讲解及如何快速记忆运算符的优先级

2023-05-24 21:14:38 149

原创 C语言之数据类型汇总(二)

数组,指针,枚举,结构体,共用体,位域控的知识梳理

2023-05-20 17:07:20 191 1

原创 C语言之数据类型汇总(一)

对于整形,字符类型,布尔型,浮点型的知识梳理:

2023-05-16 21:59:06 347 1

原创 (一)软件工程之开发模型

将系统化的、规范的、可度量的方法用于软件的开发、运行和维护的过程,即将工程化应用于软件开发中。简述:就是要用工程化方法去规范软件开发,让项目可以按时完成、成本可控、质量有保证。

2023-04-04 15:55:54 81

原创 C++模板与泛型编程

模板与泛型编程泛型编程模板函数模板类模板泛型编程泛型编程:是编写出不局限于特定数据类型的、通用的算法模型的代码。#include <iostream>int add(int a,int b){ return a + b;}double add(double a,double b){ return a + b;}int main() { int a = add(2,4); double b = add(1.2,3.3); std::co

2021-10-13 21:06:24 435

原创 function类模板

function类型介绍可调用对象的概念调用形式function类模板用法function使用注意问题可调用对象的概念可调用对象:一个类重载了()运算符,我们就可以像调用函数一样,调用这个类的对象。也有称为“函数对象”,“仿函数”。#include <iostream>class A{public: A(){ std::cout << "构造函数" << std::endl; } ~A(){ std::

2021-10-11 17:29:58 465

原创 设计模式之单例模式

设计模式之单例模式单例模式单例模式作用懒汉式使用单例模板的类单例模式单例模式作用1.只能创建一个对象,节约资源。2.保证他是唯一的实例,有些设计需要在不同的模块调用同一个实例对象。懒汉式线程安全的懒汉式-单例模板#include <mutex>template <class T>class Singleton{public: static T* GetSingleton() //设计为静态成员函数:目的是在外部不用实例化对象,即可获得改单例

2021-09-28 15:40:42 1174

原创 namespace

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-09-26 10:31:15 75

原创 C++中的引用

引用引用是什么引用和指针的区别都有哪些引用引用是什么引用是给对象取别名。如给村里的张三,取名二狗子。以后村里人喊二狗子就是喊张三。引用和指针的区别引用和指针的本质都是对地址进行操作。int a = 2;int *p = &a;int &b = a;printf("打印a的值:%d",b);printf("打印a的值:%d",*p);上面的 *p 等价与 b 。区别在哪呢?p是指针变变量,它的指向可以随意变化。而b等价与*p,它的所指向的对象一但初始化就无法再次更改

2021-07-01 11:03:33 70

空空如也

空空如也

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

TA关注的人

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