Dijkstra 最短路径算法

Dijkstra算法的核心点是贪心算法:不断寻找最短的点,在最短的点上更新最短路径1.前言想要了解学习Dijkstra算法,需要先了解无向图与权重图,无向图顾名思义就是没有方向的图,下面表示了有向图和无向图以及权重图2.什么是Dijkstra算法Dijkstra 算法,可以寻找图中节点之间的最短路径。特别是,可以在图中寻找一个节点(称为“源节点”)到所有其它节点的最短路径,生成一个最短路径树。荷兰

- 阅读全文 -

三维坐标旋转矩阵推导过程以及C语言实现

前提:坐标使用右手坐标系,角度逆时针旋转为正。绕X轴旋转角度为 俯仰角 即Pitch绕Y轴旋转角度为 偏航角 即Yaw(Head)绕Z轴旋转角度为 翻滚角 即Roll1、平面二维坐标点的旋转根据三角函数关系,可以列出向量OP与OP'的坐标表示形式:x = |OP|•cosα x′ = |OP|•cos(α+β) y = |OP|•sinα y′ = |O

- 阅读全文 -

在windows下使用C语言进行图形编程 SDL2开发环境搭建

你是否对C语言命令行黑框感到厌倦,今天来为你的C编程增加一些可视化窗口吧!1、windows下安装C编译器这对于一个开发者来说简直是太业余了,如果你是一个开发者,你的电脑上怎么会没有gcc呢,如果你是一个新手,可以转到这个链接:https://zhuanlan.zhihu.com/p/355510947。我们可以通过在命令行输入gcc来验证是否安装成功PS C:\Users\13588\Deskt

- 阅读全文 -

嵌入式组件-----IPC

1、什么是IPC在做一个比较简单的项目时,我们可以使用全局变量等作为标志位进行逻辑判断,但是在功能较多的项目上时,使用全局变量作为程序间的标志位当然是不可行的,代码将会混乱且复杂,不利于解耦,因此需要使用到IPC(Interprocess communication),IPC是模块间的通信组件,主要实现的是任务之间的消息转发,广播等功能,模块功能和实现都较为简单。2、需求分析模块间的消息传递主要是

- 阅读全文 -

嵌入式必备知识-IIC协议

1、概述IIC(Inter-IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器以及其外围设备,IIC也被称为I2C,其实两者是完全相同的。它是由数据线SDA和时钟线SCL构成的串行总线,可发送和接收数据。两根线定义如下:数据线SDA:数据线用来传输数据时钟线SCL:时钟线用来同步数据收发2、信号分解时钟图绘制由https://wavedrom.

- 阅读全文 -

记录一个开源的物理引擎:Physac

1、Physac介绍Physac是一个开源的物理引擎,所有代码实现在头文件中,仅仅有2100行代码,移植接口只需要一个画线函数,因此很容易移植到嵌入式设备等,GitHub地址为https://github.com/victorfisac/Physac2、引擎接口引擎具有以下特性:可以动态创建\销毁三种控件:圆形、多边形、四边形可以改变全局重力方向可以给控件添加力、角度力用爆炸力将多边形物理体破碎成

- 阅读全文 -

嵌入式组件-----状态机

1、简述状态机在C语言编程中,可以使用状态机来实现复杂的控制流程和状态管理。状态机通常由以下几个组成部分构成:状态(State):系统或程序可能处于的不同状态,例如"待机"、"运行"、"暂停"等。每个状态代表了系统或程序的一种行为或模式。事件(Event):触发状态转换的信号或条件,可以是外部输入、定时器到期、传感器触发等。事件发生时,状态机将根据当前状态和事件来确定下一个状态。转换(Transi

- 阅读全文 -

谈一谈RTOS的核心之一:调度器

调度器上下求索,方可得道之精髓引言我还在学校的时候,实验室有一个学长在B站发布了这么一个视频,B站链接在这里,并且将代码开源在github,取名为suos,对于当时的我来说,实时操作系统是一个很新鲜的东西,特别是当看到代码里面的两个函数中的while(1),这完全是超出认知的东西。如今四年已经过去了,不敢说对RTOS的远离了解的很清楚,但是也是管中窥豹,略知一二,今天就记录一下对RTOS的调度器的

- 阅读全文 -

嵌入式组件-----手撸一个SHELL

1、介绍easy_shell是由纯C语言编写,运行于嵌入式设备上的shell,通过串口作为命令传入,调用程序中的函数,相比于litter-shell削减了很多用不上的功能,本组件shell.c只有三百多行,简单易用好理解,目前支持且仅支持int类型、char类型、char *类型、hex类型的数据传入与类型自动识别,并且不用专门为shell写一个绑定函数。2、实现过程 命令截取嵌入式设备在接受串口

- 阅读全文 -

ARM-linux驱动开发学习笔记整理(PART-1)

前言前景提要:曾经做过一个迷你Linux小电脑,自己画了个四层板,有gpio、屏幕、USB等外设,并且在Ubuntu系统下编译固件,驱动屏幕等外设,最终也算是写了一个小型QT程序,读取图片并且联网通过访问API的方式识别图片中的内容。但是从始至终,一直游荡于论坛,没有潜下心来学习学习linux驱动开发与应用开发,今天开始通过这个笔记记录自己学习的过程,实际上也就是学习《【正点原子】I.MX6U嵌入

- 阅读全文 -

热门文章

最新文章

最近回复

  • 树莓: 你指的是收音放音共存是吗?你可能需要修改录音播音逻辑,我完成的只...
  • fate: 录音的功能可以和通话功能并存吗?
  • fate: 能给个联系方式或者b站回复一下吗,在做这个的设计,想请教一下
  • 树莓: 我记得我查过ESP32C3的资料,它只有一个硬件IIS,如果你想...
  • fate: 请问一下大佬这个能用ESP32C3做出来吗
  • 树莓: 你可以去找找那些已经有过刷机方案的机顶盒进行操作,不过全志H3的...
  • 树莓: 这些变量可能在编码初期使用到了,但是后来代码优化未删除,这个代码...
  • LThygbkj: UP你好,有不懂的地方请教一下。 ‍bool sendOver=...
  • 阿祖: 博主,请问一下,搭载全志H3芯片的机顶盒可以刷 ubuntu 吗...
  • 树莓: i2s协议在linux系统中应该是作为一个外设使用,或许应该查看...

分类

标签

归档

链接

  • 暂无链接

其它

//在这里添加了雪花特效