草庐IT

STM32Programmer

全部标签

一起玩儿物联网人工智能小车(ESP32)——14. 用ESP32的GPIO控制智能小车运动起来(二)

摘要:本文主要讲解如何使用Mixly实现对单一车轮的运动控制。下面就该用程序控制我们的小车轮子转起来了。打开Mixly软件,然后单击顶部“文件”菜单中的“新建”功能,我们来开启一个新程序的开发工作。我们的工作同样是先从最简单的开始,初期只控制一个轮子,实现轮子的正转3秒钟、停止3秒钟、反转3秒钟、停止3秒钟,然后再正转……,依次循环。在进行具体开发之前,再回忆一下使用GPIO的步骤有哪些吧(以后会看到大部分的硬件功能都是这个模式)。首先是设置工作模式和参数,对设备进行初始化工作。其次是控制GPIO端口输出高电平或者低电平。第一步设置GPIO工作模式的工作由Mixly自动完成了,我们不需要做什么

ios - 从 Metal 内核写入 32 位浮点纹理?文档说是,运行时说不

在检查Metal接口(interface)的GPGPU部分时,我在尝试从内核写入32位浮点纹理时遇到断言失败(编辑:在iPhone6上,使用iOS8.4.1):`Non-writabletextureformatMTLPixelFormatRGBA32Floatisbeingboundatindex2toashaderargumentwithwriteaccessenabled.'使用RG32Float和R32Float得到相同的结果。这似乎是错误的,因为:据我所知,thedocssayitshouldbesupported.(见链接页面上的表格。)片段着色器允许写入32位纹理(在iP

STM32软硬件CRC测速对比

硬件CRC配置以及软硬件CRC速度对比使用CUBEMX配置默认使用的是CRC32,从库中可以看出这一点HAL库提供了以下两个计算函数HAL_CRC_Accumulate(CRC_HandleTypeDef*hcrc,uint32_tpBuffer[],uint32_tBufferLength);这个函数用于在已有的CRC校验结果的基础上累积(accumulate)新的数据块。如果你需要分多次处理数据,比如将数据分成几个块,然后分别进行CRC计算,最后将这些计算结果合并,就可以使用这个函数。HAL_CRC_Calculate(CRC_HandleTypeDef*hcrc,uint32_tpBuf

Armv8-R AArch32 architecture概念学习

提示该博客主要为个人学习,通过阅读官网手册整理而来(个人觉得阅读官网的英文文档非常有助于理解各个IP特性)。若有不对之处请参考参考文档,以官网文档为准。阅读该文章,可以先查看AArch64ExceptionModel学习,再来看该文章会非常简单1.执行状态该体系结构只有AArch32执行状态。执行状态定义了处理器的执行环境,包括:支持寄存器位宽支持指令集还有以下几方面执行模型PMSA编程模型2.异常等级Armv8-RAArch32的异常等级为:EL0~EL2EL0:ApplicationsEL1:通常被描述为特权的操作系统内核和相关函数EL2:HypervisorEL0具有最低的软件执行特权,

ESP8266 ESP-01/01s 固件下载烧录+STM32串口通信接线

注意点:ESP8266ESP-01与 ESP8266ESP-01s接线类似。本文使用的是ESP8266ESP-01WIFI模块,详细信息见如下图片。本文固件下载的是ESP8266的MQTT固件,下载其它固件流程一致。本文使用的是杜邦线连接面包板来进行使用,与使用开发板原理一致。ESP8266ESP-01WIFI模块引脚图如下。将ESP8266模块与下图对应放置来对应引脚。需要注意:Tx开机时禁止低电平(下拉)、CH_PD正常运行是始终为高固件烧录ESP8266需接以下6个引脚,引脚接线说明如下。Vcc:接面包板3.3vGND:接面包板GND(与CH340烧录器GND共地)CH_PD:接面包板3

主从版本升级_主从_8.0.32_软链接_基于二进制日志文件

升级需求将一套MySQL8.0.32主从环境版本升级到8.0.35版本,主从环境如下:主服务器登录账号密码端口当前版本目标版本主服务器59.217.250.226root/topnet@12333068.0.328.0.35从服务器59.217.250.227root/topnet@12333068.0.328.0.35升级步骤关键步骤如下:1.断开应用2.确定主从无延时3.关闭主库4.关闭从库5.备份主库数据目录6.启动主库7.启动备库8.查看主从同步状态查数据库版本主服务器数据库版本mysql>selectversion();+-----------+|version()|+-------

STM32_串口下载程序

目录标题前言1、理论知识2、串口下载具体操作2.1、硬件准备2.2、软件准备2.3、设置单片机的启动模式为系统存储器启动2.4、软件配置2.5、下载程序附:生成hex文件前言使用调试器下载程序又快有稳定还能使用调试功能,当然是下载调试的首选。但是拓展下串口下载程序的知识作为下载的备选方案也是很有必要的。1、理论知识ICP:使用SWD接口进行烧录,如J-Link烧录器和J-Flash软件配合使用。ISP:使用引导程序(Bootload)加上外围UART/USB等接口进行烧录。IAP:软件自身实现在线电擦除和编程的方法,不使用任何工具。程序通常分成两块,分别为引导程序和应用程序。我们用串口下载程序

STM32单片机最小系统

STM32单片机的最小系统,即让单片机能够正常运行所需要的最少电路组成,也可以说是单片机能够正常工作的最小环境,其中主要包括以下几个部分:①STM32单片机芯片②晶振电路(时钟电路)③复位电路④启动电路⑤电源电路一、单片机芯片芯片也是整个电路的核心,也是运行的主体,其他的电路都是辅助该主体而运行的。通过对该芯片写入程序,便可实现各种想要的控制功能,例如下图中的STM32C8T6。二、晶振电路晶振电路,即时钟电路,为单片机提供时序,使单片机能够正常运行。时钟电路相当于单片机的心脏,它的每一次跳动(振荡节拍)都控制着单片机执行代码的工作节奏。振荡得慢时,系统工作速度就慢;振荡得快时,系统工作速度就

iOS - NSString 定义/初始化。 64 位与 32 位

我遇到了一个非常奇怪的问题。我在定义NSString对象时犯了一个错误。这是一个明显的错误。但奇怪的是,它在某些iOS设备上运行良好,而在其他设备上却导致崩溃。我已经修复了这个错误,但我仍然不知道为什么它会起作用。如果有人能帮助我理解这一点,我将不胜感激。谢谢!错误代码:NSString*language2=[[NSLocalepreferredLanguages]objectAtIndex:0];NSString*language=[languagesubstringToIndex:2];NSLog(@"language=%@",language);如您所见,“NSString*la

ESP8266+STM32 透传模式 AT+CIPSEND 返回 ERROR

在使用ESP8266+STM32开发时,按照以下顺序执行AT指令,使得ESP8266通过TCP连接到服务器端口,使用透传模式发送消息。AT+CWJAP=,AT+CIPSTART=,,AT+CIPMODE=1//使用透传模式AT+CIPSEND在直接将ESP8266使用串口转USB连接到电脑上,所有通信都可以正常进行,并且可以正常传输数据。但是将ESP8266通过串口与STM32相连接时,出现无法传输数据的情况,调试发现按顺序执行前三条语句时都能够获得正确响应,但在执行AT+CIPSEND时返回了ERROR。怀疑可能是TCP连接未建立,但是发现在服务端可以看到TCP已经建立。目前尚未发现导致该问