草庐IT

tusb_serial_device-ESP

全部标签

基于Micropython利用ESP32-C3墨水屏电子时钟方法

本篇笔记介绍一下我们设计制作的墨水屏时钟。1、所需硬件1)合宙的ESP32-C3:2)电子价签拆出来的2.9寸墨水屏:——电子价签型号为:Stellar-L,墨水屏型号为:E029A01。3)自己设计的一块墨水屏驱动板:——这块PCB比较复杂了,贴片电容、电阻、二极管有20多个,再加上贴片AHT20和24P的FPC,焊接难度有点大,建议上加热台和焊锡膏。4)402030锂电池3.7V——立创商城上买的小体积锂电池(402030),刚好可以藏在墨水屏时钟后面。5)墨水屏时钟背面2、原理图——墨水屏使用SPI协议,8个引脚分别与ESP32-C3连接:mosi=Pin(3)sck=Pin(2)cs=

一起玩儿物联网人工智能小车——09. ESP32 WROVER开发板组成、引脚功能初探

在拿到一个芯片、模组、功能模块或者开发板的时候,除了去网上搜索各种文档和教程之外,最重要的文档就是设计制造商所提供的datasheet文档了。datasheet直接翻译成中文就是数据表,通常指用于辅助硬件开发的资料工作表、数据手册、规格书、产品手册等。对于硬件开发者和相关软件开发者来说都是必备的文档资料。通过datasheet我们通常可以了解到该硬件的1.功能描述。2.电气特性。3.管脚的定义。4.封装图、尺寸图。5.原理图。6.典型应用等相关的技术资料。为我们了解和使用这个芯片提供了一定的帮助。基于ESP32系列芯片最常见的开发板就是ESP32-DevKitCV4开发板了,这是一个通用型基础

c++ - Arduino:命令 Serial.print ("some string text") 是否占用 SRAM?

我有一个相当大的Arduino项目(在eclipse中)使用Serial.print("somestringtext")命令进行大量调试消息,以便我可以一路调试。我注意到的一件事是我达到了项目中可以拥有的这些数量的限制。如果我放太多,程序会在非常奇怪的地方停止。即:通常在我最新添加的打印命令应该执行之前很久。目前我的项目.hex文件大约有20k。ArduinoUno限制在30kb左右,对吗?所以它不应该太大。所以我觉得实际的问题可能是这些串行命令正在填满我的sram。这只是2kb。我正在使用很多库。命令Serial.print("somestringtext")是否占用SRAM?gcc

一文速通ESP8266NodeMCU(基于ArduinoIDE)——万字爆肝含示例代码

目录ESP8266ArduinoIED环境配置GPIO闪烁LED配置GPIO口模式数字输出点亮LED延时函数闪烁LED数字读取闪烁LED2.0定时函数定时执行取消定时计时函数闪烁LED3.0PWM外部中断外部中断配置关闭中断开关控制LED串口通信串口初始化输出数据writeprint&println&printf读入数据readreadString判断是否有数据串口回声实验操作存储器初始化写入操作 提交 读取数据WiFi连接设置模式连接WIFI消除连接配置获取连接信息获取连接数据macAddressSSIDlocalIP连接 MQTT环境配置初始化设置连接发布主题消息订阅主题订阅回调函数参考E

c++ - vector (反)序列化与 Boost.serialization 的向后兼容性

抱歉交叉发布。在发布到邮件列表boost-users并且一周没有任何回复后,我倾向于在stackoverflow上发布问题。原始帖子,稍作重新编辑:嗨名单,我正在从Boostv1.35迁移到新版本。然而,我有一些我希望新版本可读的遗留序列化字符串。经过一些测试,我发现显然是较新的版本(在这个案例1.40以及更高版本)无法从1.35正确反序列化std::vector实例生成的字符串。谁能给我一个关于可能是什么的指针问题在这里?非常感谢!埃瓦尔德==详情==我使用文本存档和gcc版本4.4.1(Ubuntu4.4.1-4ubuntu9)测试vector是一个包含2项的结构,长整数1和2。各

c++ - Boost.Serialization 会直接与虚拟菱形继承(钻石问题)一起工作吗?

我是第一次看Boost.Serialization,我找不到关于虚拟菱形继承(钻石问题)结构序列化的明确评估(或说明)。考虑以下类层次结构:classA{inta;}classB1:publicvirtualA{intb1;}classB2:publicvirtualA{intb2;}classB3:publicvirtualA{intb3;}classC12:publicvirtualB1,publicvirtualB2{intc12;}classC13:publicvirtualB1,publicvirtualB3{intc13;}classC23:publicvirtualB2,

一起玩儿物联网人工智能小车(ESP32)——12. 组装L298N驱动马达和供电电路

摘要:本文介绍L298N模块与TT马达以及电源模块的接线方法,并进行初始测试。在前面完成了第一个ESP32程序。接下来要继续组装我们的智能物联网小车了。今天要完成的工作就是完成智能小车电机驱动和ESP32开发板的控制电路连接。在具体的动手之前,先要进行一些准备工作,也就是需要将我要用到的器件、模块固定到汽车底盘的金属板上。在这里需要固定的器件主要有三个,一个是L298N电机驱动模块,一个是ESP32扩展板,还有一个是供电的锂电池。其中L298N和供电的锂电池固定在车子的下层底板上,而ESP32则需要固定到上层底板上。L298N模块和ESP32模块可以借助底盘上的固定孔,使用之前在材料准备的时候

c++ - 如何在 Boost::Program_Options 中支持命令行语法 "-DEVICE:iphone"?

Boost::Program_Options的默认语法是“--DEVICEiphone”。如何支持语法“-DEVICE:iphone”或“-DEVICE=iphone”? 最佳答案 Boost.Program_Options有相当多的optionstyles.您似乎想要的特定组合是:command_line_style::long_allow_adjacent|command_line_style::short_allow_adjacent|command_line_style::allow_long_disguise应该将这些选项

c++ - Qt Serial Port - 一致读取数据

我正在通过串行端口向设备发送(写入)字节。我正在使用QSerialPort(http://qt-project.org/wiki/QtSerialPort)模块来实例化设备IO支持。当我向我的INSTEON调制解调器(串行)发送消息时,设备会在读取我的消息后发回我的消息拷贝+0x06(ACK字节),然后是状态消息。我已经使用DockLight(http://www.docklight.de/)测试了我的消息。我发送以下消息来查询设备的状态:02621DE94B051900使用Docklight,我收到响应:02621DE94B05190006025020CBCF1EDAF72100FF