六 开发环境搭建
先预告下后面的源代码例子:
示例一: C3使用最简单的PROGMEM(即数组)中MP3音乐片段的播放例子与代码。(FLAC也一样,C3 4M FLASH和400K内存支持多种音频协议,性价比完美)
示例二: C3通过WIFI实现HTTP流式MP3播放 ,家有OPENWRT或者NAS的音乐爱好者福音(直接联网能力是IOT MCU和传统MCU如STM相比巨大的突破 )
示例三: C3通过TFT显示播放歌曲的名称(也可扩展到显示LRC歌词)
示例四: C3通过TF卡直接播放MP3和FLAC(没有NAS也没关系,自己做一个播放器吧)
软件开发阶段,首先要搭建esp32c3的开发环境。帖子给出的代码理论上arduino IDE开发环境也能使用,但楼主选择了vscode + platformio插件形式做前期开发。platformio从今年初的版本好像就直接支持expressif平台对arduino框架的支持了,比较好用。 安装这个环境唯一的缺陷就是: 需要搭建不可言说的事务。这里特别提醒,搭建的事物必须是全局事务,因为platformio在初次创建工程或者直接下载expressif平台时,使用了http, git和python。这三种不同的工具/协议并不尊从同一个代理设置。即使在vscode环境中设置好了http代理, GIT和python也不会使用,这将导致国内网络下创建(下载工具、库源码等)失败。 其中,python建议自行更新pip源设置到国内ali或者清华源,下载会更快,通过事物获取反而慢。
选择vscode而非arduino本身的ide,除了楼主没用过arduino的ide外,还有一个重要的原因就是jtag调试支持。 熟悉ios或者android嵌入式开发的坛友应当都很清楚,在这两个平台上开发,就像在pc上开发一样,可以设置断点、单步调试!这个对于应用层开发来说帮助太大了。在单片机领域, 例如STM,调试往往需要通过外接的jlink等硬件来完成,而神奇的esp32c3,和esp32s3一样,内置了jtag功能! 合宙的这块9,9网红版,和它推出的AIR 105之类不一样,没有阉割或者隐藏jtag功能! 这样只需引出2根数据线+1跟GND线,外接一个USB小接口,就可以以近乎0的成本,在platformio里头执行jtag调试啦! 断点、单步、查看变量值、查看内存、功能非常丰富。这比stm动辄几十,贵则上百的jlink之类硬件实在是要实惠的多。
安装好vscode和platform后,
1)进入platformio主页,选择New Project(新建工程)
2)弹出的对话框中, 输入你想做的程序工程名称,这里填的是c3mp3test,在board(开发板)中选择espressif ESP32-C3-DevKitM-1,FrameWork(开发框架)选择arduino framework,下面的工程存放位置选择缺省即可,也可自行指定位置;
3) 会出现一个wait的等待界面,如果是初次使用,platformio会下载c3 esp arudino需要的所有开发资源,例如工具链、esp arduino代码等等。没有不可言说事物的话,这一步可能失败。如果等的不耐烦,可以打开资源监视器,看看后台有没有下载任务, 没有的话, 就得自己想办法了。。。
4) 一切顺利,或者非初次使用,会出现新建的工程,这样就可以开始正式编码了:下次正式进入实例和代码一。
|