自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嵌入式-老费,一个分享专业嵌入式知识的blog

专注于嵌入式软件系统性能优化

  • 博客(1654)
  • 资源 (4)
  • 收藏
  • 关注

原创 esp32开发与应用(OTA升级)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        作为程序员来说,嵌入式烧入不是什么复杂的事情。不管是命令行烧入,还是flash_download_tool烧入,亦或者是idf烧入,都是可以的。反正,最终的烧入结果都是利用串口进行烧入。但是一旦产品销售出去了,基本上只能靠ota升级了。

2026-07-26 21:54:20 329

原创 esp32开发与应用(添加数据分区)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        在esp32开发的时候,其实rom区域的大小是一定的。也就是说,code+data生成的bin文件大小是一定的。但是整个esp32的flash还是挺大的,所以如果要存储文件的话,最好是单独创建一个分区,然后操作这个分区即可。

2026-07-26 20:03:20 193

原创 esp32开发与应用(边采样边播放音频)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        前面说到了音频的播放,一般采用i2s的格式,也就是bclk、lrclk、sda。今天来学一下麦克风。如果是播放音乐,没有麦克风也是可以的。但很多时候,我们还是有麦克风采样、播放的需求。所以这个时候,就要学一下麦克风采样。

2026-07-24 22:44:06 258

原创 esp32开发与应用(播放wav音频文件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        esp32本身也是支持音乐播放的,主要是i2s接口。现在电商网站上面,有一种芯片,输入是i2s接口,输出可以直接给喇叭。不像一般的芯片,后面还要一个音频放大器。比如ns4168,就是其中的一种,今天正好来试试。当然这里播放的都是wav格式,即没有压缩的音频文件。

2026-07-23 23:12:58 215

原创 esp32开发与应用(esp32s3的usb host开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        前面我们开发esp32s3的usb功能时,当时就用了device功能。不过和stm32f103不同的是,esp32s3支持device,也支持host。所以,正好来看看怎么用esp32s3作为usb host,来访问其他usb设备。所有usb device当中,最有价值的其实是usb camera,当然这一点等后面再说。

2026-07-19 12:45:58 535

原创 esp32开发与应用(esp32串口烧入)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        esp32的烧入其实和8051很相似,都是串口烧入。市面上的模块,一般都是集成了wch的芯片,插入一根type c就可以烧入了。可以如果我们部署的时候,没有这根线,或者说自己画的板子上没有wch,该如何烧入呢。

2026-07-19 09:40:24 345

原创 esp32开发与应用(题外话之PCAN调试器)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        can其实在工业、医疗和运输业用的很多,但是很多朋友可能仅仅用过ttl,最多加上一个232或者是485,这个时候就可以看看can。如果自己需要调试can,特别是只有一个板子的情况下,可以买一个pcan调试器。

2026-07-17 22:30:11 297

原创 esp32开发与应用(和stm32f103用spi通信)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        现在esp32和mcu一起出现的场合很多,前者适合网络传输和屏幕显示,后者则多出现在工业场景。所以两者一起出现就可以发挥各自的优势。但是两个一起合作,也有通信的需求。虽然用ttl可以解决通信的问题,但是速率比较低不太方便,我们一般还是用spi,会感觉比较简单一点。

2026-07-16 23:41:36 201

原创 esp32开发与应用(利用stm32f103 loopback学习can)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        除了大家熟悉的ttl,其实485和can用的也很多。485多用于工业,can多用于汽车、航空和医疗。ttl和232虽然方便,但是容易受到干扰。比如假设旁边是一个运行的电机,那么传输的数据就容易受到影响。485和can则没有这方面的烦恼。485可能大家比较熟悉,毕竟本来就是ttl转变过来的,唯独can,其实学习的方法也很多。

2026-07-15 23:11:13 208

原创 esp32开发与应用(用好ttl转485模块)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        和can比起来,虽然can也是差分模块,在汽车领域用的很多,但是相对而言,大家还是喜欢用485总线外界设备。不仅和ttl类似,而且有一定的抗干扰性,而且可以外挂很多的设备,应用范围很广。但是很多设备是不带ttl转485芯片的,所以这个时候,可以买一个转换模块,就能解决这个问题。

2026-07-13 22:33:02 278

原创 esp32开发与应用(与stm32f103工控板配合之下篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        串口作为使用最多的方式,在工业中有很多的应用场景。当然,除了串口,can用的也很多。我们一个一个来看。所谓的串口,在mcu上,一般称之为ttl。ttl通常是可以通过usb转ttl的模块,被pc访问和使用的。但是由于历史和实际场景使用的原因,工业上大部分都是用232、485和can。所以,有了上一篇的gpio和串口基础,就可以学习下面这三种接口。

2026-07-11 21:56:36 454

原创 esp32开发与应用(与stm32f103工控板配合之上篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        虽然esp32在消费领域用的很多,但是很多工控场合,其实stm32用的更多。就拿stm32来说,103要比407和750用得地方多很多。账面上的参数看,stm32f103性能参数一般。但是和stc89c52相比,103的性能其实已经非常够用了。

2026-07-11 17:19:39 374

原创 esp32开发与应用(从esp32到esp32s3)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        从最早的8266,到现在的esp32 s31,其实本身esp32有很多的型号。这些型号差异不小,使用的时候需要注意下。当然,不仅仅是模块本身性能的差异,有的时候也可能是供货、成本、产品规划的差异,让我们选择不同的esp32芯片。

2026-07-10 23:03:30 323

原创 esp32开发与应用(题外话之无线手柄操控)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        喜欢玩游戏的朋友,肯定对游戏手柄不陌生。特别是喜欢玩xbox、switch的朋友,很多的游戏都是需要游戏手柄的参与。但是除了游戏之外,有一些应用开发也是可可以通过游戏手柄来完成的。比如说有一些嵌入式设备,按键还没有是配合好,这个时候就可以通过上位机读取游戏手柄的信息,借助于串口发给嵌入式手柄即可。

2026-07-05 18:29:40 239

原创 esp32开发与应用(esp和wch芯片的USB配合)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        除了网络配合之外,还有一种情况就是usb处理。对于wch芯片来说,usb更是自己的看家本领。大家如果经常买开发板,就会看到很多的usb转串口芯片,很多就是他们家的。但如果不想单独买一个转串口的芯片,则可以直接用mcu的usb功能去生成。

2026-06-30 05:13:17 289

原创 esp32开发与应用(esp和wch芯片的网络配合)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        前面我们写过,esp32可以通过spi的方式,和w5500模块进行通信。但是这样的话,其实浪费了一个spi口,有一点可惜。不仅如此,如果esp32需要通过usb和pc沟通的话,还需要esp32-s3新品,这样其实也不是很方便。这个时候就想,是不是可以通过esp32外扩一个芯片的方式,来解决usb通信、网络互联、蓝牙的问题。这个时候就想到了wch芯片。

2026-06-28 23:15:57 548

原创 esp32开发与应用(esp和51单片机的配合)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        虽然现在stm32用的很多,很多国产的mcu不是很贵,但是他们和8051比较,还是有一点价格的差异。这一点,如果量不大的情况下,可能不是很在乎。但是产品量比较大的话,其实就非常可观了。所以,对于gpio/uart/pwm/ad/da/时钟中断这类简单应用,很多时候,我们都会选择8051单片机进行开发。不管是工具选择,还是使用过程,都非常方便。

2026-06-27 21:39:26 416

原创 esp32开发与应用(esp和其他mcu/soc的选择)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        现在mcu种类很多,soc种类也很多。我们学习了esp32,但是这并不意味着任何情况下都用esp32。在项目中,我们使用自己熟悉的芯片,这无可厚非,但是也要根据项目性质和芯片特点来灵活选择。

2026-06-25 23:41:45 296

原创 esp32开发与应用(蓝牙测试)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        现在蓝牙的设备还是很多的,最常见的可能就是蓝牙耳机、蓝牙键盘、蓝牙鼠标。对于没有wifi的场景,或者是需要定期上报数据的场景,蓝牙还是很方便的。正好esp32支持wifi和bt,这部分本来也是它的特色,用起来不算复杂,正好可以试试。

2026-06-23 20:38:48 457

原创 esp32开发与应用(2.8寸电容触摸屏的驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        和电阻屏相比较,电容屏最大的好处就是触摸上去响应比较好。尤其是触摸,异常灵敏。不像电阻屏那样,需要给予一定压力之后,才能产生触摸信号。这次趁着学习电阻触摸屏的机会,也买了一个2.8寸的触摸屏,一起学习下。但是,电容屏价格要比电阻屏贵不少,这一点也需要注意下。

2026-06-22 23:00:10 587

原创 esp32开发与应用(lvgl之上的开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        前面为了开发lvgl,我们做了一些准备。这里面包括了屏幕的驱动,触摸屏的驱动,屏幕和lvgl的适配,触摸和lvgl的适配,以及触摸的简单修改和标定。做好了这几部分之后,基本上就可以做lvgl的开发了。

2026-06-21 23:10:15 261

原创 esp32开发与应用(3.5寸触摸屏+lvgl)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        既然屏幕的驱动、触控的驱动也好了,那么下面要做的就是移植lvgl。其实不用lvgl,自己直接操作屏幕开发也是可以的,但就是比较麻烦,开发起来也不是很美观,看上去并不象一个产品。所以,一般驱动ok了,就会移植lvgl。

2026-06-21 14:40:59 393

原创 esp32开发与应用(3.5寸屏幕+触摸驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        实际开发的时候,我们发现节奏还是要尽量慢一点。一定要按照屏幕驱动、触摸驱动、lvgl、触摸标定、触摸进入lvgl,不能想着一步梭哈,就能得到最终的结果。不然,往往是错误套着错误,很容易把人搞得非常疲惫。有必要一点一点修改代码,稳扎稳打、步步为营,这样用ai写代码比较稳妥一点。

2026-06-21 09:44:04 316

原创 esp32开发与应用(继续升级到3.5寸屏幕)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        前面我们已经升级了一次屏幕,当时是从240*240,升级到320*240。在这过程中,屏幕驱动ic也发生了改变。这一次,我们继续升级屏幕,升级到480*320,驱动芯片从ILI9341调整为ILI9488。对于mcu应用来说,480*320的分辨率足以覆盖大部分场景了。

2026-06-20 23:32:06 249

原创 esp32开发与应用(w5500网络模块+arduino)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        大家知道,esp32本身比较擅长wifi和蓝牙。但是,现实中有一些需求是依赖于有线网络的。比如说工厂里面的设备,一般wifi都是不太好的。这里面有保密的原因,也有机器运作的原因。所以,很多时候是需要设备走有线网络的。esp32虽然自身带mac ip,但是如果需要有线网络的话,还需要外挂一个eth phy,不是很方便,这种情况下应该如何处理?

2026-06-19 21:58:23 295

原创 esp32开发与应用(和其他mcu的配合)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        从mcu开发切到esp32开发的同学,短时间内未必习惯。这就好像一个人习惯了用汇编语言开发,现在转到了c语言开发,会有一个不适应的过程。之前开发,我们需要对底层的细节非常熟悉,现在好像这一切都不用自己管了。自己需要做的,就是focus在业务上面就好。

2026-06-19 18:52:21 270

原创 esp32开发与应用(项目2- 网页设备控制)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        前面我们介绍过,esp32可以配置为wifi station模式,当然wifi也可以配置为ap模式。并且很多时候,默认状态下都是配置为ap模式,只有ap下输入用户名和密码之后,才好进入station模式,和pc处于同一个网段。但是不管是那种模式,我们利用网络的目的,都是为了控制设备,这是我们的初衷。

2026-06-19 11:42:37 379

原创 esp32开发与应用(项目1- 仿电报发射系统)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        前面,我们学习了屏幕驱动,学习了lvgl,也学习了触摸屏。但是很多开发,尤其是成本要求很高的场景,本身其实是用不了触摸屏的。这个时候,那就只有一个办法,屏幕配合按键使用。问题来了,该怎么使用呢?

2026-06-18 21:18:08 329

原创 esp32开发与应用(添加触摸屏)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        前面我们讲了很多次普通屏,但是没有聊过触摸屏。对于带屏幕的这类应用,一般是这样的,有屏幕的产品通常会比没有屏幕的产品看上去高档一点。而有触摸屏的产品,又会比纯屏幕的产品高档一点。所以,有的时候为题提高体验,增加触摸屏也是很有必要的。

2026-06-17 22:43:27 671

原创 esp32开发与应用(升级到2.8寸屏幕)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        前面我们学习了lvgl,也学习了怎么用lvgl写一个定时器。但是由于之前的屏幕分辨率不高,所以我们想调整一下,变成320*240。但这个时候,驱动芯片也发生了变化。之前是st7789,现在是ili9341,但是因为有ai,整个过程不复杂。

2026-06-17 21:50:00 563

原创 esp32开发与应用(http服务器)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        大家都知道,esp32本身是以wifi和bt见长。既然说到了wifi,那么就有两种模式,一种是ap,一种是station。在实际开发中,很多时候都是先用ap配置wifi和密码,然后转到station模式,这是比较常见的做法。那么另外一个大家可能不太熟悉的地方,就是esp32还自带了http服务器,写起来也不复杂。

2026-06-17 00:50:42 399

原创 esp32开发与应用(lvgl写定时器)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        其实有了lvgl可以做很多的事情。就像现在的ipad一样,整个设备最大的一个部分就是屏幕。剩下来的就是相机、按键、wifi、bt、蓝牙、声音这些。而所有的操作,都是在这个屏幕上面完成的。从这个上面来看,可以参见显示的重要性。

2026-06-16 22:05:58 286

原创 esp32开发与应用(lvgl入门)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        我们之前有过屏幕学习的经验,不管是spi的屏幕,还是i2c的屏幕,总体而言,通过这两个模块知道了屏幕应该如何驱动了。事实上,实际开发的时候,一般还是借助于lvgl进行开发,而不是直接利用驱动开发,不然就太麻烦了。

2026-06-16 21:17:16 320

原创 esp32开发与应用(镜像烧录)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        对于esp32的开发,一般是两种开发方式。一种是arduino开发,还有一种就是esp-idf的开发方式。不管是哪种开发方式,本身系统都提供了对应的下载方式。但是如果给客户,应该怎么下载呢。这一点是需要思考一下的。

2026-06-16 06:57:47 356

原创 esp32开发与应用(看门狗测试)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        不管是mcu,还是soc,看门狗都是系统常用的一种监控手段。看门狗初始化之后,如果不能在指定的时间内重启,那么系统默认当前cpu已经跑飞,立即重启系统。这对于一些无人值守的设备,具有很大的价值。当然很多时候,看门狗也不能滥用,对于一般bug、有规律的bug、低概率bug,最好还是找出root cause,只有实在解决不了的问题,才动用watchdog,这样比较好。

2026-06-15 21:28:02 264

原创 esp32开发与应用(串口测试)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        esp32板子上面有两个串口,一个是串口0,一个是串口2。其中串口0是用做下载image使用的,所以不建议大家使用。所以剩下来的串口2,是大家非常推荐的串口。今天,就来看看esp32里面,串口是怎么使用的。

2026-06-14 10:12:08 271

原创 esp32开发与应用(有源蜂鸣器)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        要想让esp32发出点声音,这需要外界模块的帮助。如果是消费领域,一般是需要录音和播放音乐。如果是工业领域的话,一个蜂鸣器就好了。当然,这里不需要那么复杂,所以就测一下蜂鸣器是怎么用的。有源蜂鸣器有一个很显著的特征,就是上面有一个贴纸,这是比较明显的。

2026-06-14 09:24:59 338

原创 esp32开发与应用(esp32的tf卡读写)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        前面我们学习了esp32-s3的tf卡读写,今天想学习下esp32的tf卡读写。两者虽然功能差不多,但是前者比后者多一个usb口,所以成本上要贵一点的,所以我们有必要考虑下esp32是否也支持tf卡读写。答案是肯定的,不过有一些地方需要注意下。

2026-06-14 08:45:30 676

原创 esp32开发与应用(esp32-s3的tf卡读写)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        除了网络之外,存储也是一个要解决的问题。要是数据量不大,可能数据就保存到esp32里面的flash上,这也是可以的。但是数据量一大,比如说测试日志,这种情况下就只能外接nandflash,或者是tf卡了。今天,就来看看,tf卡应该怎么读写。

2026-06-13 22:45:28 492

原创 esp32开发与应用(深度睡眠)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        对于嵌入式设备,有些是需要部署在外面的。这些外部环境,不是所有地方都有条件外接电源的,所以很多设备本身不能一直维持在高速运行的状态,需要有时采集数据,有时处于深度睡眠状态,这样设备可以长时间处于低功耗状态,大大降低人工维护的成本。今天正好看一下,esp32怎么进入深度睡眠的。

2026-06-13 07:13:13 228

rootfs.tar

rootfs

2023-05-25

arm9兼容软核代码

arm9兼容软核代码

2020-12-24

png图片读取、保存代码

这是一个完整的png图片读取项目,包括了pnglib、zlib和win32工程,大家可以单步调试验证png格式的基本功能。

2012-07-08

glibc1.09的源代码内容

这里是glibc早期的版本,对大家学习libc非常有帮助,希望大家积极下载、

2011-05-21

exceptional C++

这是关于c++非常好的一本书,相信对大家十分有用!

2009-05-07

空空如也

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

TA关注的人

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