自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 RT-Thread 5.0.2基于STM32F407ZG处理器使用MAILBOX实现线程间同步

本文介绍了在RT-Thread中使用mailbox实现线程间同步的方式。

2024-01-09 12:18:17 449

原创 RT-Thread 5.0.2基于STM32F407ZG处理器使用信号量实现线程间同步

为了实现复杂的功能,编程时免不了要进行线程间的同步操作,程序线程之间实现同步的方式有很多种,通过信号量实现线程之间的同步就是常见的一种方法,在此就给大家完整演示一下在RT-Thread中使用线程间实现同步的全过程。此软件工程源于之前的一个消息队列示范程序,我将在此软件工程中添加线程间同步的信号量测试代码。在MSH窗口中可以见到程序运行后的LOG信息,符合程序设计的预期目标。第3步,在usr_semaphore.c文件中添加信号量测试代码。至此,线程之间通过信号量实现同步功能的示范程序已经完成。

2024-01-09 11:57:52 915

原创 RT-Thread 5.0.2基于STM32F407ZG处理器使用消息队列在线程之间传递数据

消息队列是线程间通信的一个重要手段之一,本人目前正在开发一款8轴的步进电机驱动器,已经完成了底层的步进电机驱动、RS485接口驱动、CAN总线驱动、USB虚拟CDC串口以及FreeMODBUS协议移植等各方面的工作,后续将进入到APP层面的软件开发。下面是创建一个消息队列,并在二个线程之间传递消息的完整例程,在本例中,我所使用的处理器是STM32F407ZGT6。采用结构体形式的消息队列,可以定义任何形式的结构体,极大地方便了消息传递的灵活性。在出现的界面中,可以见到目标板发送的LOG信息。

2024-01-08 12:07:10 1020

原创 RT-Thread 5.0.2版本基于STM32F407ZG处理器使用RTC时钟

本文介绍了如何RT-Thread中启用RTC(实时时钟)的方法。

2024-01-04 16:03:44 631

原创 RT-Thread 5.0.2版本基于STM32F407处理器SPI接口挂载SD卡

本文介绍了基于STM32F407ZG处理器,在RT-Thread V5.0.2版本上使用SPI接口,通过虚拟文件系统将SD卡挂到了系统中,从而实现对SD中文件的访问。

2024-01-03 18:06:19 1364 1

原创 基于ST32F407ZGT6处理器在RT-Thread 5.0.2上挂载CAN BUS总线设备

发送测试代码部分的消息id值改为了0x100,这样可以与CAN总线硬件滤波器相匹配,以确保自己发出去的信息可以被自己接收。结构体定义中,没有hdr成员,但有hdr_index成员,看来又是因为改名所导致的问题,修改报错位置的结构体成员名称。跟踪到代码错误位置,发现这二个宏没有定义,匪夷所思,都5.0.2版本了,居然使用CAN总线这二个宏还没有定义。结构体定义中没有hdr成员,但有hdr_bank成员,应该是换名字了,修改报错定位点的成员名称。第4步,修改board.h文件,添加启用CAN总线的宏定义。

2024-01-02 13:13:46 1067

原创 RT-Thread 5.0.2版本基于STM32F407处理器挂载SPI接口的W25Q128 Flash存储芯片

见图2-1-6-2,在PC端启动Putty窗口中,已经可以见到固件运行后发送的LOG信息,关于Putty软件工具的作用和使用方法,请自行上网查找,这是一款可以远程登录Linux的终端工具,也可以用来与RT-Thread的MSH进行交互。见图2-2-2-1,使能USART1,这里需要补充说明一下,之前已经使用过串口1,为什么在这里要重新配置串口1呢?见图2-1-2-1,点击File->New->RT-Thread Project菜单。见图2-1-1-1,RT-Thread Studio启动成功。

2023-12-30 20:09:34 1369 1

原创 02-基于ART-PI开发板创建USB CDC 虚拟串口设备

本例在ART-PI开发板上,基于RT-Thread 5.0,5虚拟了一个USB32 CDC串口设备。

2023-12-27 16:36:32 1240 1

原创 01-基于ART-PI-创建第一个RT-Thread-软件工程

基于开发板 ART-PI创建RT-Thread软件工程的过程记录

2023-12-26 15:15:02 500 1

原创 ESP-Drone四旋翼无人机控制板上的MPU6050陀螺仪芯片I2C总线测试

1、摘要一款新的控制板卡在第一次使用时,都需要进行硬件功能的测试,以确保所有的硬件都能够正常工作后,才可以进入后续的软件编程阶段,ESP-Drone四旋翼无人机的控制板使用了mpu6050陀螺仪芯片作为惯性导航的传感器芯片,其可以用来测量无人机X、Y、Z方向的偏转角度和加速度信息,从而确定无人机的姿态,从而为控制系统提供控制无人机飞行的决策数据,mpu6050使用I2C总线与主控芯片进行通信,因此首先要做的工作就是测试主控芯片是否能够通过I2C总线来读取mpu6050芯片中的数据。2、I2C总线测试

2021-12-14 10:40:28 3807

原创 ESP32-Drone四旋翼无人机代码编译发现的二个问题及解决方法

摘要ESP32-Drone四旋翼无人机是乐鑫的一个开源项目,我根据官方的硬件参考设计,重新使用KiCAD绘制了原理图和PCB板,并制作了控制板样板,在配置了ESP-idf-4.4编程环境编译官方的软件包时遇到了二个比较严重的问题,具体过程记录如下:编译问题1:找不到FreeRTOS.h头文件。如图1-1所示,在编译的过程中,发现报没有找到FreeRTOS.h头文件,这应该是C语言程序编译过程中常见的头文件目录环境变量的设置有问题 。如图1-2所示,根据报错信息的提示,找到“craz.

2021-12-14 09:35:09 1780 1

原创 KiCAD绘制原理图---------创建一个新的原理图符号

1、创建一个新的原理图库文件第1步,打开原理图器件编辑界面。如图1-1-1所示,点击“Smbol Editor”图标进入器件编辑界面。第2步,进入文件管理菜单。如图1-2-1所示,点击“File”菜单,打开文件管理菜单界面。第3步,进入新的库文件创建界面。如图1-3-1所示,点击“New Library”菜单进入新的库文件创建界面。第4步,设定新的库文件存放目录和新的库文件名。如图1-4-1所示,在系统中选择一个合适的文件夹用来存放新创建的库文件,同...

2021-12-04 10:03:37 2924

原创 KiCAD绘制原理图的几个常用的操作之一

摘要在绘制原理图的的过程中,会用到很多的操作功能,今天就介绍几个在绘制原理图时必须要用到的几个功能:1、放置原理图符号;2、放置电源符号;3、绘制器件引脚之间的连线;4、修改器件的属性1、放置原理图符号第1步,选中放置器件符号图标。如图1-1-1所示,点击器件放置符号图标。如图1-1-2所示,器件放置符号图标已经被选中。第2步,指定器件放置的位置。如图1-2-1所示,移动鼠标至指定位置,...

2021-12-03 09:00:55 4281 1

原创 KiCAD-如何创建一个工程文件并放置原理图器件符号

1、摘要KiCAD是一款开源的EDA设计软件,它集成了原理图绘制、PCB绘制、GERBER文件浏览、阻抗计算器等实用功能模块,对于常见的使用场景来说已经足够用了,当然对于已经习惯了其它软件使用的人来说,刚开始可能会因为快捷键不同、设计界面不同而有点不习惯,但熟悉一段时间后就好了。2、设计过程记录第1步,启动KiCAD。如图2-1所示,点击桌面的KiCAD图标启动软件。如图2-1-2所示,启动后的KiCAD中有上次所使用的软件工程,如果是新安装的软件则没有这样的设计工程。.

2021-11-27 09:22:08 1170

原创 基于ESP32C3处理器创建Hello World工程-并使用OpenOCD进行Debug

1、编程环境1.1、硬件 序号 名称 描述 备注 1 ESP-C3-12F-KIT 深圳安信可开发的基于其自家ESP-C3-12F模块的开发板。 淘宝购买 2 ESP-Prog 乐鑫官方推出基于FT2232HL接口芯片的JTAG调试器。 淘宝购买

2021-11-26 10:47:35 4703

原创 ESP-Drone控制板设计的第6个任务-绘制摄像头接口及扩展接口电路

1、摘要 ESP-Drone飞行控制板内置了一个摄像头接口,可以外接OV2640摄像头,通过此摄像头可以实现简单的航拍功能,从而增加使用者的乐趣。2、设计过程记录 第1步,查看官方参考设计摄像头及扩展接口部分的原理图。 如图2-1-1所示,这是一款基于OV2640摄像头的接口路及扩展接口部分的原理图,电路主要分为3个部分:1、 稳压电源;2、摄像头连接器;3、扩展连接器。 稳压电源部分有2组电源,均采用微盟电子公司的芯片进行设计,一路输出...

2021-11-24 11:08:48 1158

原创 ESP-Drone控制板设计的第5个任务-绘制电机驱动电路

1、摘要 ESP-Drone飞行控制板目前是为4旋翼无人机而设计,有4组独立的电机驱动电路。基于这是一款袖珍无人机的设计方案,故电机的驱动电路无需复杂的电调板,只用一个电子开关(例如: N-MOSFET)开启电机的电源就可以了。2、设计过程记录 第1步,查看官方参考设计电源部分的原理图。 如图2-1-1所示,这是一号电机的控制电路,其它3组电机的驱动电路与此电路都是一样的。此电路的工作原理如下: 电机的二个电极接在连接器J5上,电机的工作电...

2021-11-23 09:51:33 677

原创 ESP-Drone控制板设计的第4个任务-绘制3.3V电源电路

1、摘要单片机系统工作离不开电源,ESP-Drone控制板核心处理器的工作电源为+3.3V,考虑到无人飞行器一般采用+3.7V电池进行供电,此类电池充满电后的电压一般为+4.2V,所以要获得+3.3V的电源,必须使用低压差的线性稳压器(LDO)。2、设计过程记录第1步,查看官方参考设计电源部分的原理图。如图2-1-1所示, 官方的参考设计使用的LDO是盛邦微电子的SGM2205,经查阅资料,确认它在满负荷工作时的压差为450mV。在官方的电源设计电路中,还采用了一个P-MOSFET组成防

2021-11-22 10:02:18 1393

原创 ESP-Drone控制板设计的第3个任务--绘制MPU-6050-陀螺仪电路

1、摘要ESP-Drone控制板使用了一款陀螺仪芯片MPU-6050,陀螺仪是在航空航天领域被广泛所使用的仪器,有了它可以实时检测飞行器在空中的位置变化值,具体包括:Pitch(俯仰角)、Roll(滚动角)、Yaw(方位角),MPU-6050是一款集成了XYZ三轴陀螺仪、XYZ三轴加速度计的芯片,通过其内置的陀螺仪和加速度计加上数学算法,可以计算出飞行器物体的实时运动信息,给控制系统提供有效的实时控制所需要的反馈数据,从而让飞行器实现稳定可靠地飞行。2、设计过程记录第1步,查看官方参考设计陀螺仪

2021-11-18 09:34:36 1799

原创 ESP-Drone控制板设计的第二个任务-绘制USB-TTL串口下载电路和ESP32-S2芯片内置USB接口电路

1、摘要ESP32系列处理器一般会需要采用串口来下载代码,因此在其设计中都会保留一个USB-TTL串口电路,查看乐鑫官网的参考设计,基本上是采用CP2102这颗USB转TTL串口芯片,但在本设计中,我会用另一颗常见的国产芯片CH340来进行设计,这么做基于3个方面的考虑:1、支持国货;2、手头有现货;3、在以前的设计中用过,原理图不用重新绘制。2、设计过程记录第1步,阅读官方参考设计原理图。如图2-1-1所示,乐鑫官方ESP-Drone参考设计原理共分为3个部分:1、USB连接器...

2021-11-16 14:28:51 5979

原创 ESP-Drone无人机控制板设计的第一个任务---绘制ESP32-S2-WROVER模块及周边电路

第1步,查看官方ESP-Drone无人机ESP32-S2-WROVER模块的参考设计原理图第二步,用KiCAD绘制ESP32-S2-WROVER模块及周边电路。1、如图2-1所示,从KiCAD的原理图符号库中直接调出ESP32-S2-WROVER的原理图符号。注意,在安装KiCAD软件后,它的原理图符号库中已经有ESP32-S2-WROVER的原理图符号,可以直接调用,对于没有的原理图符号,可以进行自己创建。2、如图2-2所示,给ESP32-S2-WROVER模块...

2021-11-15 13:42:52 5821

原创 跟我一起复制一款基于ESP-Drone无人机控制板

1、ESP-Drone无人机项目简介ESP无人机是基于ESPRESIF ESP32/ESP32-S2 Wi-Fi芯片的开源解决方案,可通过Wi-Fi连接到手机应用程序或游戏控制台。ESP无人机具有简单的硬件、清晰和可扩展的代码体系结构,因此该项目可用作为STEAM(科学、技术、工程、数学)的教育平台或其它的控制领域。它的主要代码从CrazyFle开源项目移植而来,采用了GPL3.0协议。关于ESP-Drone更多的信息,请访问:https://hub.fastgit.org/espressi

2021-11-15 09:50:18 1859 2

原创 ESP32平台基于Kconfig.projbuild文件配置GPIO口设计LED跑马灯程序

1、摘要在嵌入式系统软件设计的过程中,总是要经常性地操作GPIO口,在ESP32平台中,我们可以使用下面的函数来初始化GPIO口:在图1-1所示的函数的时候,用到了一个结构体:如图1-2所示,在该结构体中有一个64位的变量:pin_bit_mask,该变量的每个比特位则对应一个GPIO口:当需要初始化特定的GPIO口时,只要将该变量对应的比特位置为1,然后后调用gpio_config函数即可。下面我就基于ESP32平台,使用Kconfig.projbuild文件创建LED配.

2021-11-08 09:58:21 1842

原创 使用Eclipse编译基于ESP32平台的Hello World工程

第1步,安装软件开发包。下载软件包,访问https://dl.espressif.com/dl/esp-idf/如图1-1所示,有二个安装包,可以根据自己的喜好选择一个进行安装,个人推荐下载离线安装包进行安装。第2步,启动Eclipse集成编程环境。如图2-1所示,ESP32平台开发环境安装完成后,在电脑的桌面有3个启动图标,选择“ESP-IDF Eclipse”图标启动Eclipse。启动后的软件界面见图2-2。第3步,创建一个ESP32软件工程。如图3-1所.

2021-11-04 14:51:47 506

原创 一款基于nRF52833的蓝牙开发板的技术方案选型

1、摘要 最近浏览Micro:bit Educational Foundation | micro:bit,发现他们推出了一个被称之为BBC micro:bit的项目,该项目针对儿童计算机编程教育而开发,可以采用积木方式、Python、JavaSript进行编程,可以看出这是一个非常有意思的项目,经过对此项目的进一步了解后,发现它是采用Daplink(一个ARM公司推出的软件、硬件都开源的调试器项目) + nRF52833(知名蓝牙芯片方案公司Nordic的一颗蓝牙芯片)进行设计,出于对其积木方...

2021-10-27 13:25:29 1427

原创 基于stm32f103xb处理器的Daplink固件编译

1、编译环境wsl虚拟Linux环境工作环境 Python 3.8.10 arm-none-eabi-gcc (15:9-2019-q4-0ubuntu1) 9.2.1 20191025 (release) virtualenv 20.8.12、编译过程记录第1步,在电脑中创建一个工作目录,当前创建的目录如下:D:\daplink_workspace工作目录可以创建在操作系统的任何盘符或者任何目录下,可根据自己的喜好进行设置。第2步,进入命令行界面,启动wsl虚拟...

2021-10-26 13:11:51 1965

TEST_LED_BLINK-ESP32平台-跑马灯-程序-2021-1108.rar

程序基于ESP32C3处理器器开发,采用Kconfig.projbuild文件配置GPIO口,采用乐鑫官网下载的ESP-IDF Eclipse进行设计,需要与乐鑫的esp-idf SDK配套使用。

2021-11-08

空空如也

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

TA关注的人

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