最近需要用到openmv进行追踪物体,所以在此做个小结,其中这些文章给我很大的帮助,建议可以去看超详细OpenMVSTM32单片机通信 实验目的:openmv追踪物体颜色,将物体坐标发给32(为了 调试,顺便将32收到的数据传给上位机) 实验所需:openmv,STM32F103ZET6(正点原子)一、openmv程序编写# Untitled - By:阿布 - 周日 7月 19 2021
转载 2024-06-13 11:16:49
469阅读
一、相同点1)外围引脚PIN TO PIN兼容,每个引脚上的复用功能也完全相同。2)芯片内部寄存器、外部IP寄存器地址和逻辑地址完全相同,但是有些寄存器默认值不同,有些外设模块的设计时序上和STM32有差异,这点差异主要体现在软件上修改,详情见下文。3)编译工具:完全相同例如:KEIL 、IAR4)型号命名方式完全相同,所以替代只需找尾缀相同的型号即可,例如:STM32F103C8T6 GD3
想给战车加个IPCamera,将摄像头的视频流传输到Qt写的上位机上,看到有前辈用Qt+opencv短短几行代码就搞定了,于是决定采用opencv。这里说一句题外话,其实图像处理LabView也可以做,而且做的也不错,有很多公司也在用LabView做机器视觉、3D显示之类。但是opencv强大的开源库和跨平台性还是吸引了最大受众。言归正传,opencv库用的是Opencv3.0.0,下载地址htt
转载 2024-06-03 08:41:10
59阅读
一、什么是串行通讯并行通讯?按数据传送的方式,通讯可分为串行通讯并行通讯,串行通讯是指设备之间通过少量数据信号线(一般是 8 根以下),地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式。而并行通讯一般是指使用 8、 16、 32 及 64 根或更多的数据线进行传输的通讯方式。并行通讯就像多个车道的公路,可以同时传输多个数据位的数据,而串行通讯,而串行通讯就像单个车道的公路,同一...
原创 2021-06-02 13:53:40
241阅读
在发送中,如果前面的数据出现异常,是切换到发送状态时没有延时
原创 2017-09-25 16:55:22
777阅读
这些函数是STM32的HAL库(Hardware Abstraction Layer)中I2C模块相关的中断处理和回调函数。1.这些函数是STM32的I2C(Inter-Integrated Circuit)总线操作函数,用于在不同模式下进行数据传输和通信。使用中断程序进行和2202进行通讯,2202芯片未获取到STM32发送的数据,需要排查原因。3.如果HT2202芯片能够收到STM32发送的
原创 2023-12-18 11:39:27
158阅读
在发送中,如果前面的数据出现异常,是切换到发送状态时没有延时
原创 2017-09-25 16:56:30
1118阅读
        最近在研究ThreadX和FileX,发现官方STM32H7 x-cube-azrtos包(目前最新版本1.1.0)有一个BUG,本文记录一下,供大家参考。 问题描述:        移植官方例程Fx_uSD_File_Ed
前言: 我们的智能车一共有三个轮子,两个轮子是通过电机控制的,还有一个轮子只起到固定作用。让电机转动起来很容易,给它通上电就行,难的是控制电机转动的速度和电机转动的圈数。 转弯的实现: 当两个电机转动速度相同时,小车就会直行;当左电机比右电机转动快时,小车就右转;当右电机比左电机转动快时,小车就左转。这个现象你可以想象一下,不难理解。 图中用红线圈起来的就是起固定作用的万向轮,手里抓着的就是直流电
转载 2024-02-20 09:53:10
394阅读
    在对通讯时间要求比较高的时候,就需要自己对UART的通讯底层直接进行操作。我以STM32单片机为例,讲一下比较快速的UART编程方法。——其实不止是STM32这么处理,我以前使用过51的单片机,TI的MSP单片机,三菱的16位单片机,都可以采用这种方法。    基本的处理思路如下:    1. UART接收的处理方法 
原创 2018-05-04 15:43:36
9925阅读
1点赞
文章目录前言一、wiringPi库是什么?二、使用步骤1.安装库和接口介绍2.C++串口配置总结注意点:前言最近做项目,在树莓派上用到串口来实现通信功能。所以用c++写了个串口的配置函数。。提示:以下是本篇文章正文内容,下面案例可供参考一、wiringPi库是什么?wiringPi是一个树莓派GPIO控制开源库,安装后可以使用C语言调用相关的函数操作GPIO,如串口通信,中断,pwm控制等等。这里
LCD    都看到图形库移植了,相信对图形库也有了解了。我选择这个图形库也是网上查的,机缘巧合就选择了他(看来我的选择是不会出错的)。这个图形库都叫Win了界面自然是像电脑的操作界面了。 一  移植前    1.那肯定是先下载啦。    2.我们要先了解一下里面有什么,打开解压后的目录Libraries目录下STem
1)实验平台:正点原子stm32f103战舰开发板V4 第十章 STM32CubeMX简介STM32CubeMX是由ST公司开发的图形化代码自动生成工具,能够快速生成初始化代码,如配置GPIO,时钟树,中间件等,使用户专注于业务代码的开发。现在ST主推HAL库代码,经典的标准外设库已经停止维护了,新产品也只提供HAL库的代码,因此,我们学习HAL库是更加有优势的,由于HAL库具有低耦合、通用、抽象
1. 创建项目 a) 禁用Finsh和console b) 默认情况下,项目文件包含了finsh,它使用COM1来通讯,另外,console输出(rt_kprintf)也使用了COM1。因此,在运行scons命令生成项目文件之前,修改rtconfig.h,禁用这两项。(下图L65, L70) c)
转载 2019-05-13 17:30:00
433阅读
2评论
stm32f103c8t6控制蓝牙模块实现led灯亮灭 之前利用蓝牙模块是用arduino控制板的,现在已经渐渐接触stm32,所以,这次想着用stm32来控制蓝牙模块。 首先的话,需要配置蓝牙模块的一些参数,用到的模块有:USB转TTL模块、HC-05蓝牙模块两模块共地,两模块共VCC(VCC取5V);蓝牙模块的RX接转换模块的TX,蓝牙模块的TX接转换模块的RX。然后直接把USB转TTL模块
转载 2024-09-02 13:25:58
122阅读
GPIOx_CRL(x=A~E) 地址偏移:端口配置的初始地址加上偏移地址就是该特殊寄存器的地址 GPIO通用输入输出8种工作模式 1.浮空输入模式: (1)当GPIOx_CRL或GPIOx_CRH寄存器的CNF[1:0]位设置为01,并且MODE[1:0]位设置为00时 (2)STM32复位之后默 ...
转载 2021-04-08 13:51:00
891阅读
2评论
总线矩阵  上图为stm32f4的总线矩阵,其中主控总线有8条,被控总线有7条,主设备和从设备通过各自的总线两两相交连接,图中两条总线相交且为圆圈的地方,表示这两条总线对应的主设备可以访问从设备,如I总线(指令总线),只有跟 M0、M2和M6这三根被控总线交叉的时候才有圆圈,就表示I总线只能跟这三根被控总线通信,这样就可以知道stm32f4的启动有三种分别是FLASH、内部SRAM、外部存储FSM
stm32在freertos系统下使用串口DMA接收方式对接freemodbus-rtu协议栈 文章目录stm32在freertos系统下使用串口DMA接收方式对接freemodbus-rtu协议栈前言码农工程师,人狠话不多,大家多看图和代码!!!一、准备工作cubemx配置dma初始化的一个注意点二、拆解freemodbus1.porttimer.c文件不再使用(不使用定时器判断接收完成),接口
转载 2024-03-17 00:43:12
1176阅读
1点赞
1评论
本文讲述的是如何从零开始,使用keil建立一个简单的STM32的工程,并闪烁LED灯,给小白看。第零步,当然首先你得有一个STM32的板子,其IO口上接了一个LED。。。第一步,建立一个文件夹0.0第二步,打开keil,建立工程在弹出来的对话框中选择你所用的STM32的芯片。在接下来弹出来的对话框中选择是,这样keil就帮我们建立好了启动文件。 第三步,新建一个main.c文件,并添加到
转载 2023-06-19 15:27:24
969阅读
一、SysTick基础简介:SysTick系统定时器是 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次中断,以此循环往复。因为 SysTick 是属于 CM3 内核的外设,所以所有基于 CM3
转载 2024-05-16 14:20:13
528阅读
  • 1
  • 2
  • 3
  • 4
  • 5