- 博客(30)
- 资源 (1)
- 收藏
- 关注
原创 ARM处理器程序烧写方式
无论是jtag还是串口烧写,本质都是先通过上位机(keil 或者flymcu或者芯片官方上位机等烧写bin的上位机)往mcu的ram里烧写一段代码即.FLM文件,这段代码在上位机(keil体现在配置项里,flymcu应该是内置了吧,jlink体现在JFlash的文件夹下面)里存的有,这段代码的作用是从上位机接收数据(即用户程序的bin文件)并将其写入到flash指定的地址空间里。而jtag和串口起到的作用都是通信接收数据。
2025-04-14 21:06:12
170
原创 keil快捷键
一步一步在函数里执行,想一下将剩余的执行完然后从此函数里出来,那么就ctr+f11表示执行完此函数的剩余部分然后从次函数中退出跳。蓝色箭头是临时断点,放到想执行到行,然后ctr+f10表示从1到0执行到想要的位置即run to cursor。先f7编译后f8下载,不得不就要ctr+f5进入调试状态,调试状态下再ctr+f5就退出调试。调试想加断点就f9,就把断点加上;调试若一下执行过此函数就f10即从1到0执行完。调试若一句一句语句的过就f11即一步一步。调试若直接一直run就f5。
2025-04-12 08:16:58
68
原创 数据结构:链表
遍历比较学号值,如果node的学号比p的小就直接插到p的前面,大于的话还要往后找,即p和q玩后裔;到p知道NULL退出循环,即考虑边界情况了,推出后直接插到q后面就行了;引入头节点,使得空表与飞控表的处理方式编程一样的了;头肩点是自己创建的额一个节点,数据与位空,指针与指向第一个节点。推出的猴子用0表示,需要跳过0的;一开始从1报数,寻你换结束的条件是剩下一个,pq重合了;下表和内容构成循环链表:下表0的下一个是1,下表1的下个是2,创建,查找,插入,删除,头茬尾插,一前一后。注意先修改谁的,后修改谁的。
2024-11-17 16:49:16
267
1
原创 CV、CA、CT运动模型的理解和matlab程序简单实现
较为详细介绍的是CT,CV和CA可以类比着快速理解一、CV模型简单介绍%% CV模型% xk = xk-1 + vxk * delta_T + 0.5*ax*delta_T^2% vxk = vxk-1 + ax*delta_T% yk = yk-1 + vyk * delta_T + 0.5*ay*delta_T^2% vyk = vyk-1 + ay*delta_T% X = [x;vx;y;vy];cv_M = 20;cv_X = zeros(4,cv_M);cv_delta_t
2021-04-20 19:42:10
11100
3
原创 PID的理解
PID是简单有效的控制算法,在智能车比赛中多有使用,以下是自己对PID算法的简单总结,重点关注了自己在学习PID时遇到的几个疑惑点1.基本介绍P:比例I:积分D:微分各自的作用:公式简单推导:2.理解PID的经典小例子3.我遇到的疑惑点...
2021-01-17 23:17:32
12521
6
原创 随机有限集RFS自学笔记(六):用预测步与更新步公式来计算的一个例子
前面写这么多推导公式,总感觉不够直观和印象深刻,个人认为看具体的额例子能更快的明白这个东西是怎么运行的,我就尝试着叙述一下这个例子。从最简单的例子开始:线性方程,正态分布,一维标量。有些符号需要说明一下:p−(xk)p^-(x_k)p−(xk)表示的是第kkk时刻的先验值,p+(xk)p^+(x_k)p+(xk)表示的是第kkk时刻的后验值。另外,p(xk∣z1:k−1)p(x_k|z_{1:k-1})p(xk∣z1:k−1)表示的也是第kkk时刻的先验值,和p−(xk)p^-(x_k)p−(x
2020-12-18 14:24:07
2676
2
原创 RFS自学笔记(二):理论测量模型——不含杂波但带有检测概率
理论测量模型是不考虑杂波的,其测量值用OkO_kOk表示;而实际测量模型是考虑杂波的,其测量值用ZkZ_kZk表示,其中ZkZ_kZk=(Ok,Ck)(O_k,C_k)(Ok,Ck),这里的CkC_kCk表示的是杂波。很显然,这里主要是把传感器实际测得数据ZkZ_kZk拆分成了两部分分别建模以方便后续的处理。现在学习理论测量模型OkO_kOk所对应的概率P(Ok∣Xk)P(O_k|X_k)P(Ok∣Xk)的推导和计算。理论测量模型主要分为两部分:1.判断是否检测到了物体,检测到的概率
2020-12-16 13:35:47
1724
3
原创 C语言指针学习——指针知识巩固以及与函数、数组、结构体的关系
看了一个教程,进一步学习了C语言的指针,参考的教程已经找不到出处了(侵删)从名字开始,按符号的优先级进行结合名字:“整型变量” —— int a; 这种“(指向)整型指针”—— int *p; 这种,指向整型变量“整型数组”——int a[5]; 这种,数组元素都是整型变量符号结合的优先级:表示是数组的 [ ] > 表示是指针的* ;表示是函数的()> 表示是指针的 *;1. int p;定义了一个整型的变量p2. int *p;从名字开始看,名字是p;先和*
2020-11-16 21:11:37
188
原创 从贝叶斯滤波到卡尔曼滤波(二)
前面介绍了离散型的贝叶斯滤波公式以及贝叶斯的基本原理,接下来要介绍连续型随机变量的贝叶斯滤波,这个是我们以后更经常用到的连续型的随机变量的分布常常用概率密度来表示,因此,我们设:X是预测值,Y是测量值,两者都是随机变量;小写的 x , y 则是对应的具体取值 表示预测值随机变量的概率密度分布,表征其概率分布情况,即先验概率分布 表示测量值随即变量的概率密度分布——用概率分布描述测量值出现的可能性 似然概率的概率密度分布,在随机变量X=x的前提下(即真值X=x,猜测的是真值),预测值随机
2020-11-11 11:13:20
699
原创 从贝叶斯滤波到卡尔曼滤波(一)
这要从随机试验开始谈起,毕竟这是基于概率论和数理统计的首先,什么是随机试验,有哪些特点?随机试验(random experiment)是在相同条件下对某随机现象进行的大量重复观测。概率统计需要对某随机现象进行大量的重复观测,或在相同条件下重复试验,观察其结果,才能获得统计规律性的认识。任何随机试验都包含试验条件和试验结果两个方面。试验条件必须相同,而试验结果具有随机性。所以,随机试验具有以下特点:1.可重复性:试验在相同条件下可重复进行;2.可知性:每次试验的可能结果不止一个,并且事先能明
2020-11-11 01:29:19
964
原创 从贝叶斯滤波到卡尔曼滤波(零)
什么是滤波?无论是建立的模型方程来推测出的数据,还是用传感器直接测量出的数据,总不是那么理想的拟合曲线,总存在偏差、方差,而滤波就是为了尽可能的减小这些方差,减少噪声的干扰,从而使最终得到的数据更接近真实值——即方差趋于0。所以,滤波就是在减小方差。如何理解每个时刻都是随机变量?我们知道,我们需要采样,存在采样间隔,而每个采样点的值实际上我们都是不能确定的,就只能看做是随机变量贝叶斯滤波的简单原理?主观概率+外部观测=相对客观的概率主观概率:人的主观猜测或者说人根据某些知识、经验建立
2020-11-09 16:25:15
866
原创 K60智能车 —— 摄像头和DMA的配置、传输到上位机显示、OLED屏幕上显示
虽然摄像头容易受光干扰、信息处理起来稍显复杂,不如电磁那样简单和稳定,但是因为摄像头前瞻相对较远并且可调,因此速度上限更高。下面简单介绍摄像头ov7725的配置摄像头1.先简单了解一下ov7725,采用的是SCCB协议,关于此的介绍参考这篇进行了解:https://blog.youkuaiyun.com/weixin_43529046/article/details/904538152.另外我参考野火关于ov7725的介绍来梳理一下内容这一页介绍了数字摄像头的像素采集顺序即从左到右,从上到下。至于奇偶场,奇数场
2020-07-31 17:55:39
6592
原创 k60的FTM模块:配置电机、编码器、舵机
FTM模块既可以用于PWM模式来产生PWM波控制电机和舵机,也可以用于正交解码模式用于读取编码器的脉冲数,从而实现测速。对于有两个电机的智能车,两个电机需要4路PWM波即对应着4个FTM通道(根据底层库文档:FTM0有8个通道,而FTM1、FTM2都只有2个通道,因此最好用FTM0来控制两个电机),两个编码器也需要4路通道来解码(用掉了FTM1和FTM2),剩下的舵机则只能用PIT定时器来模拟出一个PWM波了观察上图,一旦你选定FTM模块号(FTM0、1、2)和对应的通道号,那么引脚也就确定下来了。或者,
2020-07-30 10:44:31
3547
1
原创 k60的GPIO口配置
写一下自己在智能车比赛学习到的一些东西吧,有点零散,趁此机会进行梳理一下,内容不是很深。在智能车中用到GPIO口的地方有按键引脚、拨码开关引脚、舵机、摄像头数据口、场信号口、PLCK信号口等,而电感ADC采集则在配置ADC就确定了引脚而不需要再单独拿GPIO配置,因为ADC通道对应的引脚是固定的,选定了某个ADC通道就相当于选定了引脚同样的,陀螺仪SPI端口、蓝牙收发端、电机对应的PWM通路、DMA端口也是如此主要介绍GPIO口的配置:详细查看LPLD库的说明文档,这里只简单介绍用到的一些功能和一般流
2020-07-29 21:24:12
1705
2
原创 Tasking新建工程以及添加自己的程序
Tasking新建工程这是我准备的文件前两个文件夹是官方的底层驱动库和例程,另外还需要从别的建立好的工程下获得.lsl文件。其余的是安装DAS和Memtool所需要的,其中,安装了Memtool就会自动安装DAS。Memtool安装双击对应的.exe文件,选择接受和next即可,期间会弹出安装DAS对话框,一样选择接受或next。安装完毕后进入tasking的IDE环境,新建工程~ ...
2020-04-19 10:22:46
8640
1
原创 恩智浦智能车入门——一定避免那些坑
智能车,入门真难寒假参加了智能车比赛,留在学校里接收培训,本想着只要自己好好做,一定能取得不错的成绩,即使名次差点,没有想象中的好,也能接收,毕竟还有不少是二次参加的,但是,我万万没想到,哪怕我们组来的比别人早,走的比别人晚,问的问题比别人多(队友都很用心的),进度一度领先别人很多,到现在却几乎成了垫底的,最直接的原因就是我们的舵机和电机一直有问题,学长说按照发的例程修改一些就能跑起来,可是我们...
2019-01-20 21:47:29
17137
9
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人