排序:
默认
按更新时间
按访问量

ESP32那些事儿(十):其他功能

这些功能只做抛砖引玉,不做详细描述了。 1、websocket 在和服务器端通讯的时候,可能会用到Websocket协议,其实大家用MQTT协议的时候,好多库底层也是用Websocket实现的。 我们使用了libwebsocket,libwebsocket支持很多平台,在ESP32中也做了移植...

2018-10-31 22:49:43

阅读数:7

评论数:0

ESP32那些事儿(九):功能开发之OTA功能

1、升级策略     从前面对Bootloader的分析中,我们知道ESP32的OTA升级基本上也是可靠的,可靠的意思是即使升级失败,写入IMAGE不完整,设备还是可以用的。     对于OTA升级,大家印象比较深刻的就是Android手机的升级,Android手机的升级确实是比较完善和健壮的,...

2018-10-31 22:48:08

阅读数:8

评论数:0

ESP32那些事儿(八):功能开发之音乐播放功能

本篇对于在线音乐播放不做讨论,如果整个系统只有在线音乐播放的功能,系统资源应该是没有问题的。同时也可以支持多种音频的CODEC。     对于本地音频文件播放,由于ESP32芯片系统通常存储和内存资源有限,如果不外挂SRAM,片内只有512KB可用内存,例如我们的项目只有512KB的内存,和4MB...

2018-10-31 22:46:29

阅读数:16

评论数:0

ESP32那些事儿(七):功能开发之I2S和I2C驱动

1、I2S的使用      I2S为三线总线,3个信号分别为: ① 串行时钟SCK,也叫位时钟(BCK)。即每发送1位数字音频数据,SCK上都有1个脉冲。SCK的频率=2×采样频率×采样位数。在数据传输过程中,I2S总线的发送器和接收器都可以作为系统的主机来提供系统的时钟频率。 ② 帧时钟WS,...

2018-10-31 22:43:40

阅读数:32

评论数:0

ESP32那些事儿(六):功能开发之蓝牙及WiFi功能

蓝牙和WIFI是ESP32的核心功能,蓝牙和wifi的共存也是esp32的独门武功,但时候后续也会发现共存的时候会有很多问题。不管怎样,蓝牙和wifi在esp-idf中有很多的例子,大家都可以参考。本篇只做简单的流程介绍。          1、蓝牙a2dp sink的初始化     蓝⽛牙是⼀一...

2018-10-31 22:41:54

阅读数:37

评论数:0

ESP32那些事儿(五):瑞士军刀之ESP32的常用API分析

事实上,所有在esp32上用到的api在esp-idf中都能找到,但是对于我们来讲这是一个大而全的API参考指南,在项目的初期,我们没有必要花费太多的时间详细的阅读每一个API的使用,挑一些常用的API进行学习,而后再根据使用情况来查询参考文档,这样才能达到事半功倍的效果,那么这里就罗列一些常用的...

2018-10-31 22:40:24

阅读数:14

评论数:0

ESP32那些事儿(四):纵览全局之代码架构

摸清楚系统架构后,项目的整体情况已经成竹在胸了,是不是有点摩拳擦掌,信心十足的要开始码代码了。     但是代码如何下手呢?做项目的话不能再像Demo程序一样,我们有多个功能,有多个人参与开发,代码的组织也需要提前设计一番,当然此刻有一个详细的设计文档最好,不过做嵌入式开发通常不会这么详细。  ...

2018-10-31 22:29:02

阅读数:5

评论数:0

ESP32那些事儿(三):纵览全局之系统设计

搞过嵌入式的同学们都知道,当我们开始一个新的平台后,我们首先想到的是系统层面的东西,这就体现了嵌入式开发中系统工程师的作用了,BTW,Android平台除外,Google已经伺候的太好了。     ESP32实际上相对简单,一些例如Bringup的流程就省了。下面我就把我的思考过程写下来。   ...

2018-10-31 15:14:47

阅读数:46

评论数:0

ESP32那些事儿(二):磨刀不误砍柴功-做好项目开发前的准备工作

       如果你是第一次接触FreeRTOS和ESPRESSIF的产品,例如我,那还是要先来个整体印象,然后再逐个深化。做项目的都知道,老板们是不允许我们四平八稳的研究完然后再开始项目。        那也不妨碍咱们要有自己的节奏,既要平衡项目的进度,也要按照事情的规律来做事情 。这就需要快速...

2018-10-31 15:10:23

阅读数:51

评论数:0

深入浅出ESP32开发之二ESP-IDF下载、编译与运行

一、ESP-IDF下载 ESP-IDF全称Espressif IoT Development Framework是乐鑫基于ESP32推出的新一代SDK,基于FreeRTOS系统,在上一代SDK基础上做了众多更新和改进,集合了众多组件。支持在Windows、Linux和MacOS下基于ESP-ID...

2018-08-15 11:05:20

阅读数:125

评论数:0

深入浅出ESP32开发之一Linux下ESP32交叉编译环境搭建

一、ESP32概述 EPS32是乐鑫最新推出的集成2.4GWi-Fi和蓝牙双模的单芯片方案,采用台积电(TSMC)超低功耗的40nm工艺,拥有最佳的功耗性能、射频性能、稳定性、通用性和可靠性,适用于多种应用和不同的功耗要求。 ESP32搭载低功耗的Xtensa LX6 32bit双核处理器,7...

2018-08-15 10:56:15

阅读数:53

评论数:0

Allegro PCB Designer 17.2如何打开旧版本.brd文件

人老了,忘性有点大,写个小文章记下今天碰到的问题,以后如果忘了怎么解决可以翻出来看看。大神莫笑,请绕行。     最近在学Allegro画板子,用的是于博士的视频,视频配套的软件是15.6版本,我电脑装的是吴川斌老师Cadence 17.2独家版本的。虽然版本不一样,但是感觉新版本用着挺好的。 ...

2018-08-04 10:01:22

阅读数:182

评论数:0

Cadence Allegro小技巧之解决Out of date shapes问题

当你经过几十个小时的艰苦奋战,终于把板子布完,而当你兴冲冲准备出Gerber文件丢给板厂打样,尽早结束噩梦时,却发现Allegro报错“Dynamic shapes are out of date; please update them. Check for out of date shapes ...

2018-07-31 13:31:50

阅读数:167

评论数:0

cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取数据方法

我们需要明白的是,ble的广播是可以指定广播信道的,广播信道分别是37、38、39, 但TI的协议栈官方例程里已经默认设置了在广播阶段 同时三个信道一起广播,但是一旦跟主机连接上后,就只在其中的一个信道传输数据,所以我们是要指定其中的一个信道的, 可恶的是, 这个连接上的信道也是随机的, 我们可以...

2018-01-08 16:29:09

阅读数:387

评论数:0

51822开发总结

1.在使用固件升级时若使用看门狗时,则也要在应用程序和BOOT程序中都要设置看门狗的初始化和喂狗程序。不然会造成固件升级无法正常进行的错误。 2.UART的串口读写函数是建立在其中断函数的基础上,初始化时一定要注册一个回调函数。不然在调用其读写函数时会造成不断重启的错误。 3.在进行128位U...

2018-01-08 15:55:50

阅读数:244

评论数:0

ARM 串口输出函数uart_printf

ARM如果能使用C函数库自带的printf函数格式输出,那多方便,但是默认的printf都是定位到stdout终端,而不是串口,本文章讲述的是如何定位到ARM的串口。 1.1.1     函数主要代码 有在Mini2440开发板上验证过 //*****************ma...

2017-12-04 11:37:33

阅读数:424

评论数:0

8位 16位 32位等几种DDR3或LPDDR3的PCB设计总结

以前因为工作需要使用全志A10和A31S设计了PCB,综合对比发现全志的设计约束有如下特点: 1.DQS查分对和时钟差分对的约束一般为±800mil到±1000mil; 2.地址或控制线和时钟差分对的约束一般为±500mil到±600mil; 3.数据线组内约束都差不多为±50mil。      ...

2017-11-14 18:13:33

阅读数:3057

评论数:0

看了毁你三观的PCB设计理论 高速PCB外层还要不要覆铜了

我们经常在教科书上或者IC原厂的PCB设计指南里看到,在layout的最后,我们应当对PCB的外层进行铺铜处理,即用良好接地的铜箔铺满PCB空白区域。   在PCB外层覆铜的好处如下: 对内层信号提供额外的屏蔽防护及噪声抑制 提高PCB的散热能力 在PCB...

2017-11-11 23:30:34

阅读数:471

评论数:0

C语言几个函数用法小结

1.char *ultoa(unsigned long value,char *string,int radix)  将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数  2.char *ltoa(long value,char *string,int radi...

2017-11-05 11:19:04

阅读数:408

评论数:0

keil mdk调试过程中查看局部变量的方法

上次调试STM32做了一次总结,此次在调试nordic 51822时发现局部变量地址给不出任何信息, 导致无法查看局部变量值。通过和STM32的设置进行必较发现C/C++的编译器等级设置过高,而将 一些局部变量优化掉而没有分配内存地址。       如下图所示,将optimzation优化等级从3...

2017-11-03 16:54:44

阅读数:3219

评论数:0

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