-
此次红外循迹是我在做毕设过程无意中实现的,所有有些地方不够精确完美,还请各位友友们多多指点校正。这篇博客也是小弟第一篇博客, 小弟不才,文笔不怎么行,可能有些语句不太通顺的地方,只能让各位将就一下了。那么接下来就进入正题吧。 一、硬件选择 ①首先我们需要一个单片机开发板,在这里我使用的是STM32F103RCT6型号的单片机,这个大家也可以自己买其他的类型;②然后就是电机和电机 驱动模块,市面上...[详细]
-
1. 几个名词 ABI : 可执行文件必须遵守的规范,以在特定执行环境中运行; 单独产生的可重定址的文件必须遵守的规范,以用来链接和执行。 EABI: 适用于嵌入式环境的ABI PCS: 程序调用规范(Procedure Call Standard) AAPCS: PCS for ARM Architecture AAPCS定义了单独编译、单独汇编的程序是如何一起工作的。 Ro...[详细]
-
众所周知STM32有5个时钟源HSI、HSE、LSI、LSE、PLL,其实他只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的。 其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低速时钟(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及独立看门狗使用,图中可以看出高速时钟也可以提供给RTC。 内部时钟是在芯片内部RC振荡器产生的,起振较快,所以时钟在芯片刚上...[详细]
-
异常类型 F103 在内核水平上搭载了一个异常响应系统, 支持为数众多的系统异常和外部中断。其中系统异常有8 个(如果把Reset 和HardFault 也算上的话就是10 个),外部中断有60个。除了个别异常的优先级被定死外,其它异常的优先级都是可编程的。有关具体的系统异常和外部中断可在标准库文件stm32f10x.h 这个头文件查询到,在IRQn_Type 这个结构体里面包含了F10...[详细]
-
启动文件简介 启动文件由汇编编写,是系统上电复位后第一个执行的程序。主要做了以下工作: 1、初始化堆栈指针SP=_initial_sp 2、初始化PC 指针=Reset_Handler 3、初始化中断向量表 4、配置系统时钟 5、调用C 库函数_main 初始化用户堆栈,从而最终调用main 函数去到C 的世界 查找ARM 汇编指令 在讲解启动代码的时候,会涉...[详细]
-
机器视觉系统的核心是图像的采集和处理。 所有信息均来源于图像,图像的质量对整个视觉系统极为关键。 一幅好的图像可以提高整个系统的稳定性,从而大大降低图像处理算法的难度,同时提高系统的精度和可靠性。 一幅好的图像应该具备如下条件: 对比度:对比度明显,目标与背景的边界对比清晰,要求目标与背景灰度值至少相差30以上; 均匀性:要求图片整体亮度均匀,或整体不均匀但灰度差不影响图像处理; 真实...[详细]
-
回流焊是电子组装生产中的关键工艺之一,而回流焊炉膛的清洁程度对产品的质量具有直接影响。炉膛内的积灰和残留物可能导致不良焊接或短路等问题。因此,定期清理回流焊炉膛是保证生产质量和效率的必要步骤。本文将介绍回流焊炉膛的清理方法。 首先,进行安全检查。在清理之前,一定要关闭并断开回流焊炉的电源,以防止意外触电。同时,确保炉膛内温度降至安全范围,以防烫伤。 接下来,先进行粗清洁。使用刮刀或金属刷...[详细]
-
无论是电动车还是普通的燃油车,对于绝大多数购车者来说,最终的使用成本都是他们最关心的,对于燃油车来说,如何省油是驾驶者最在意的地方,那么对于电动车来说,如何省电就成为了驾驶者最在意的地方,今天我们就来聊聊对于电动车来说怎么开才能更省电。 对于开惯了燃油车的老司机来说,高速巡航状态一定是大家最喜欢的行驶场景了,毕竟在这种情况下车辆的油耗非常低,也许平常一箱油只能跑四五百公里,但是如果全程高速的...[详细]
-
一、基本定时器介绍 在STM32中,基本定时器有TIM6、TIM7等。基本定时器主要包含时基单元,提供16位的计数,能计数0~65535。基本定时器除了计数功能以外,还能输出给DAC模块一个TRGO信号。基本定时器框图如下: 二、时基单元介绍 STM32的所有定时器都具备时基单元,时基单元的功能就是简单的计数,即计数时钟源TMxCLK的脉冲个数,这个时钟源来至APB1总线。高...[详细]
-
一、工作原理 输入捕获是STM32单片机定时器的一项重要的功能,应用很广泛,常用于测量脉冲宽度,周期等。 超声波模块测距的原理是:单片机给超声波模块(我用到的超声波模块型号是HC-SR04,下面简称HC-SR04)发送一个大于10us的高电平,触发HC-SR04发出8个40kHz的方波,并自动检测是否有信号返回,如果有信号返回,就会通过Echo对单片机输出一个高电平,高电平的持续时间就是超声波从...[详细]
-
随着工业自动化行业的不断发展,可以看到越来越多的智能设备采用灵活、高效、精准的机械臂完成定位抓取、组装等。最常见的是使用机器视觉应用,机器视觉将目标物体的图像信息通过光学设备和传感器获取后,将其转化为数字化信息(坐标位置和角度),并依据控制单元指导,使机器可以有效地执行任务。 但这次的任务中,我们选择了更经济的激光位移测距方案来实现机械臂的定位抓取,本期小明就来分享一下具体的应用情况~...[详细]
-
福特公开的一项专利提出将传统分段侧气帘替换为一体化的全宽侧帘式气囊,该气囊横跨整车侧面,可在前后车门区域同时展开,为所有乘员在侧向撞击发生的瞬间提供连续的保护屏障。 图片来源:FORD AUTHORITY 该设计依托车内传感器的碰撞预判能力快速触发,旨在减少头部、胸腹与车门硬件接触造成的二次伤害;同时,气囊的整体式结构便于与现代化座舱布局、可变座椅和自动驾驶场景中的非传统座椅配置协同工作...[详细]
-
【摘要】 为了提高智能网联汽车横向主动安全,将转向系统(EPS)的非预期功能安全场景识别和定义融入系统设计与开发环节。结合场景域分析、等价类和边界值技术,通过解构EPS相关车辆模型变体和横向运动场景,从EPS已知的运行场景中拓展出更多可能存在风险的工作场景。同时,利用基于半实物仿真的驾驶员在环系统(DIL),凭借其“人-车-环境”闭环的优势,使得更多未知风险场景转变为有效的已知场景,进而优化现有...[详细]
-
基于STM32F103 步骤: 1、定时器的1ms初始化 1 //1ms TIMER IRQ 2 void Drv_timeout_Init(void) 3 { 4 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; 5 NVIC_InitTypeDef NVIC_InitStructure; 6 RCC_APB1Per...[详细]
-
Keil5更新之后,开始支持ARM V6编译器,新版本的编译器对C++有了更多的支持,在编译方面也做了很多的改善,具体的没有详细了解,本文只是对STM32 开发下,使用V6版本的编译器进行STM32的C++开发作一个记录,方便和大家交流和参考。至于说为什么STM32要C++开发,这个没有解释,只是个人觉得C++比C有更多的方便,使得编程更加的容易,C++有更多的生态.... 开始上教程:...[详细]