FireBeetle 2 ESP32 C6开发板__例程代码分析和FireBeetle 2 ESP32 C6开发板
<div class='showpostmsg'><p><strong><span style="font-size:18px;">1.例程分析 阅读 Bink 例程</span></strong></p><p><span style="font-size:18px;">1.1 新建打开Bink例程 如下图</span></p>
<p style="text-align: center;"><span style="font-size:18px;"> </span></p>
<p><span style="font-size:18px;">1.2 例程代码分析</span></p>
<p><span style="font-size:18px;">例程代码如下</span></p>
<pre>
<code>void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH);// turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}</code></pre>
<p><span style="font-size:18px;">这里有一个疑问:这个<code>LED_BUILTIN</code>是在哪里定义的呢?答案就在<code>Pins_Arduino</code>这个文件中。</span></p>
<p><span style="font-size:18px;"> </span></p>
<p> </p>
<article data-content="[{"type":"block","id":"ziEl-1714209254465","name":"paragraph","data":{"version":1},"nodes":[{"type":"text","id":"CtuG-1714209254463","leaves":[{"text":"右","marks":[]}]}],"state":{}}]">
<article data-content="[{"type":"block","id":"ziEl-1714209254465","name":"paragraph","data":{"version":1},"nodes":[{"type":"text","id":"CtuG-1714209254463","leaves":[{"text":"右键跳转到Pins_Arduino这个文件","marks":[]}]}],"state":{}}]">
<p><span style="font-size:18px;">通过右键跳转可以跳到Pins_Arduino这个文件中</span></p>
<p><span style="font-size:18px;"> </span></p>
</article>
</article>
<p><span style="font-size:18px;"> 这是Arduino环境下esp32开发板的引脚定义文件,用于指定特定硬件板上的引脚映射和配置。此文件定义了一系列常量,这些常量代表连接到Arduino板或其他兼容板的物理引脚。</span></p>
<article data-content="[{"type":"block","id":"hXYP-1714213448421","name":"paragraph","data":{},"nodes":[{"type":"text","id":"ygke-1714213448419","leaves":[{"text":"","marks":[]}]}],"state":{}},{"type":"block","id":"hP9Z-1714213954008","name":"list-item","data":{"listId":"66Jk-1714213954085","listLevel":1,"listType":"ordered","style":{},"version":1},"nodes":[{"type":"text","id":"RalD-1714213954007","leaves":[{"text":"预处理:","marks":[]}]}],"state":{"index":1}},{"type":"block","id":"mkbg-1714213954015","name":"code","data":{"language":"c","theme":"default","version":1},"nodes":[{"type":"block","id":"wluE-1714213954010","name":"code-line","data":{},"nodes":[{"type":"text","id":"ryOa-1714213954009","leaves":[{"text":"#ifndef Pins_Arduino_h","marks":[]}]}]},{"type":"block","id":"M9H0-1714213954012","name":"code-line","data":{},"nodes":[{"type":"text","id":"WS5E-1714213954011","leaves":[{"text":"#define Pins_Arduino_h","marks":[]}]}]},{"type":"block","id":"v9uH-1714213954014","name":"code-line","data":{},"nodes":[{"type":"text","id":"26nK-1714213954013","leaves":[{"text":"","marks":[]}]}]}],"state":{"tokensPerLine":[[{"type":"directive-hash","content":"#"},{"type":"directive","content":"ifndef"},{"type":"macro","content":" "},{"type":"expression","content":"Pins_Arduino_h"}],[{"type":"directive-hash","content":"#"},{"type":"directive","content":"define"},{"type":"macro","content":" "},{"type":"macro-name","content":"Pins_Arduino_h"}],[]]}},{"type":"block","id":"osGp-1714213954017","name":"paragraph","data":{"style":{},"version":1},"nodes":[{"type":"text","id":"8dq8-1714213954016","leaves":[{"text":"这使用了预处理器指令来避免头文件的重复包含,这是一个常见的编程技巧,确保头文件的内容只被包含一次。","marks":[]}]}],"state":{}},{"type":"block","id":"ZAKz-1714213954019","name":"list-item","data":{"listId":"66Jk-1714213954085","listLevel":1,"listType":"ordered","style":{},"version":1},"nodes":[{"type":"text","id":"2rsC-1714213954018","leaves":[{"text":"内置LED和串行通信引脚:","marks":[]}]}],"state":{"index":2}},{"type":"block","id":"3DTX-1714213954032","name":"code","data":{"language":"c","theme":"default","version":1},"nodes":[{"type":"block","id":"kXrb-1714213954021","name":"code-line","data":{},"nodes":[{"type":"text","id":"r5MT-1714213954020","leaves":[{"text":"static const uint8_t LED_BUILTIN = 15;","marks":[]}]}]},{"type":"block","id":"G4XW-1714213954023","name":"code-line","data":{},"nodes":[{"type":"text","id":"tfAy-1714213954022","leaves":[{"text":"#define BUILTIN_LED LED_BUILTIN","marks":[]}]}]},{"type":"block","id":"HHKU-1714213954025","name":"code-line","data":{},"nodes":[{"type":"text","id":"OGDM-1714213954024","leaves":[{"text":"#define LED_BUILTIN LED_BUILTIN","marks":[]}]}]},{"type":"block","id":"kLAN-1714213954027","name":"code-line","data":{},"nodes":[{"type":"text","id":"uLGI-1714213954026","leaves":[{"text":"static const uint8_t TX = 16;","marks":[]}]}]},{"type":"block","id":"JHDv-1714213954029","name":"code-line","data":{},"nodes":[{"type":"text","id":"rmp1-1714213954028","leaves":[{"text":"static const uint8_t RX = 17;","marks":[]}]}]},{"type":"block","id":"AKjh-1714213954031","name":"code-line","data":{},"nodes":[{"type":"text","id":"jkTH-1714213954030","leaves":[{"text":"","marks":[]}]}]}],"state":{"tokensPerLine":[[{"type":"keyword","content":"static"},{"type":"plain","content":" "},{"type":"keyword","content":"const"},{"type":"plain","content":" "},{"type":"class-name","content":"uint8_t"},{"type":"plain","content":" LED_BUILTIN "},{"type":"operator","content":"="},{"type":"plain","content":" "},{"type":"number","content":"15"},{"type":"punctuation","content":";"}],[{"type":"directive-hash","content":"#"},{"type":"directive","content":"define"},{"type":"macro","content":" "},{"type":"macro-name","content":"BUILTIN_LED"},{"type":"macro","content":" "},{"type":"expression","content":"LED_BUILTIN"}],[{"type":"directive-hash","content":"#"},{"type":"directive","content":"define"},{"type":"macro","content":" "},{"type":"macro-name","content":"LED_BUILTIN"},{"type":"macro","content":" "},{"type":"expression","content":"LED_BUILTIN"}],[{"type":"keyword","content":"static"},{"type":"plain","content":" "},{"type":"keyword","content":"const"},{"type":"plain","content":" "},{"type":"class-name","content":"uint8_t"},{"type":"plain","content":" TX "},{"type":"operator","content":"="},{"type":"plain","content":" "},{"type":"number","content":"16"},{"type":"punctuation","content":";"}],[{"type":"keyword","content":"static"},{"type":"plain","content":" "},{"type":"keyword","content":"const"},{"type":"plain","content":" "},{"type":"class-name","content":"uint8_t"},{"type":"plain","content":" RX "},{"type":"operator","content":"="},{"type":"plain","content":" "},{"type":"number","content":"17"},{"type":"punctuation","content":";"}],[]]}},{"type":"block","id":"phqI-1714213954034","name":"paragraph","data":{"style":{},"version":1},"nodes":[{"type":"text","id":"5Ed8-1714213954033","leaves":[{"text":"这里定义了Arduino板上的内置LED的引脚号,Arduino UNO R3通常是数字13,","marks":[]},{"text":"FireBeetle 2 ESP32 C6","marks":[{"type":"bold"},{"type":"color","value":"#343434"},{"type":"backgroundColor","value":"rgb(238, 238, 238)"}]},{"text":"在这里是15,以及串行通信的TX(发送)和RX(接收)引脚。","marks":[]}]}],"state":{}},{"type":"block","id":"mgsN-1714214280321","name":"list-item","data":{"listId":"66Jk-1714213954085","listLevel":1,"listType":"ordered","style":{},"version":1},"nodes":[{"type":"text","id":"RGAN-1714214280320","leaves":[{"text":"IIC引脚:","marks":[]}]}],"state":{"index":3}},{"type":"block","id":"mjil-1714214313548","name":"code","data":{"language":"","theme":"default","wrap":false},"nodes":[{"type":"block","id":"YgNM-1714214313545","name":"code-line","data":{},"nodes":[{"type":"text","id":"kney-1714214313544","leaves":[{"text":"static const uint8_t SDA = 19;","marks":[]}]}]},{"type":"block","id":"kprD-1714214313547","name":"code-line","data":{},"nodes":[{"type":"text","id":"xawv-1714214313546","leaves":[{"text":"static const uint8_t SCL = 20;","marks":[]}]}]}],"state":{}},{"type":"block","id":"5y1O-1714213954036","name":"list-item","data":{"listId":"66Jk-1714213954085","listLevel":1,"listType":"ordered","style":{},"version":1},"nodes":[{"type":"text","id":"axoF-1714213954035","leaves":[{"text":"SPI引脚:","marks":[]}]}],"state":{"index":4}},{"type":"block","id":"tpL4-1714213954051","name":"code","data":{"language":"c","theme":"default","version":1},"nodes":[{"type":"block","id":"FlX5-1714213954038","name":"code-line","data":{},"nodes":[{"type":"text","id":"6yH7-1714213954037","leaves":[{"text":"","marks":[]}]}]},{"type":"block","id":"BaCq-1714213954042","name":"code-line","data":{},"nodes":[{"type":"text","id":"rVqQ-1714213954041","leaves":[{"text":"static const uint8_t SS = 5;","marks":[]}]}]},{"type":"block","id":"wZ8H-1714213954044","name":"code-line","data":{},"nodes":[{"type":"text","id":"Anpe-1714213954043","leaves":[{"text":"static const uint8_t MOSI = 22;","marks":[]}]}]},{"type":"block","id":"RtE0-1714213954046","name":"code-line","data":{},"nodes":[{"type":"text","id":"TI4C-1714213954045","leaves":[{"text":"static const uint8_t MISO = 21;","marks":[]}]}]},{"type":"block","id":"YfS6-1714213954048","name":"code-line","data":{},"nodes":[{"type":"text","id":"xn96-1714213954047","leaves":[{"text":"static const uint8_t SCK = 23;","marks":[]}]}]},{"type":"block","id":"Iljw-1714213954050","name":"code-line","data":{},"nodes":[{"type":"text","id":"Iche-1714213954049","leaves":[{"text":"","marks":[]}]}]}],"state":{"tokensPerLine":[[],[{"type":"keyword","content":"static"},{"type":"plain","content":" "},{"type":"keyword","content":"const"},{"type":"plain","content":" "},{"type":"class-name","content":"uint8_t"},{"type":"plain","content":" SS "},{"type":"operator","content":"="},{"type":"plain","content":" "},{"type":"number","content":"5"},{"type":"punctuation","content":";"}],[{"type":"keyword","content":"static"},{"type":"plain","content":" "},{"type":"keyword","content":"const"},{"type":"plain","content":" "},{"type":"class-name","content":"uint8_t"},{"type":"plain","content":" MOSI "},{"type":"operator","content":"="},{"type":"plain","content":" "},{"type":"number","content":"22"},{"type":"punctuation","content":";"}],[{"type":"keyword","content":"static"},{"type":"plain","content":" "},{"type":"keyword","content":"const"},{"type":"plain","content":" "},{"type":"class-name","content":"uint8_t"},{"type":"plain","content":" MISO "},{"type":"operator","content":"="},{"type":"plain","content":" "},{"type":"number","content":"21"},{"type":"punctuation","content":";"}],[{"type":"keyword","content":"static"},{"type":"plain","content":" "},{"type":"keyword","content":"const"},{"type":"plain","content":" "},{"type":"class-name","content":"uint8_t"},{"type":"plain","content":" SCK "},{"type":"operator","content":"="},{"type":"plain","content":" "},{"type":"number","content":"23"},{"type":"punctuation","content":";"}],[]]}},{"type":"block","id":"uTqe-1714213954053","name":"paragraph","data":{"style":{},"version":1},"nodes":[{"type":"text","id":"AzZP-1714213954052","leaves":[{"text":"SPI(Serial Peripheral Interface)是一种同步串行数据协议,用于微控制器与其他设备之间的通信。这里定义了SPI通信所需的引脚。","marks":[]}]}],"state":{}},{"type":"block","id":"gfOk-1714213954055","name":"list-item","data":{"listId":"66Jk-1714213954085","listLevel":1,"listType":"ordered","style":{},"version":1},"nodes":[{"type":"text","id":"d90g-1714213954054","leaves":[{"text":"模拟和数字引脚:","marks":[]}]}],"state":{"index":5}},{"type":"block","id":"WB2B-1714213954067","name":"code","data":{"language":"c","theme":"default","version":1},"nodes":[{"type":"block","id":"4Oa3-1714213954057","name":"code-line","data":{},"nodes":[{"type":"text","id":"YcwC-1714213954056","leaves":[{"text":"static const uint8_t A1 = 2;","marks":[]}]}]},{"type":"block","id":"scv7-1714213954059","name":"code-line","data":{},"nodes":[{"type":"text","id":"duZi-1714213954058","leaves":[{"text":"// ... (其他模拟引脚)","marks":[]}]}]},{"type":"block","id":"3Drp-1714213954061","name":"code-line","data":{},"nodes":[{"type":"text","id":"kvJ1-1714213954060","leaves":[{"text":"static const uint8_t D2 = 8;","marks":[]}]}]},{"type":"block","id":"uVZi-1714213954063","name":"code-line","data":{},"nodes":[{"type":"text","id":"8quV-1714213954062","leaves":[{"text":"// ... (其他数字引脚)","marks":[]}]}]},{"type":"block","id":"d64U-1714213954065","name":"code-line","data":{},"nodes":[{"type":"text","id":"Wyt0-1714213954064","leaves":[{"text":"","marks":[]}]}]}],"state":{"tokensPerLine":[[{"type":"keyword","content":"static"},{"type":"plain","content":" "},{"type":"keyword","content":"const"},{"type":"plain","content":" "},{"type":"class-name","content":"uint8_t"},{"type":"plain","content":" A1 "},{"type":"operator","content":"="},{"type":"plain","content":" "},{"type":"number","content":"2"},{"type":"punctuation","content":";"}],[{"type":"comment","content":"// ... (其他模拟引脚)"}],[{"type":"keyword","content":"static"},{"type":"plain","content":" "},{"type":"keyword","content":"const"},{"type":"plain","content":" "},{"type":"class-name","content":"uint8_t"},{"type":"plain","content":" D2 "},{"type":"operator","content":"="},{"type":"plain","content":" "},{"type":"number","content":"8"},{"type":"punctuation","content":";"}],[{"type":"comment","content":"// ... (其他数字引脚)"}],[]]}},{"type":"block","id":"GBJ6-1714213954069","name":"paragraph","data":{"style":{},"version":1},"nodes":[{"type":"text","id":"ob9t-1714213954068","leaves":[{"text":"这些常量定义了Arduino板上用于模拟输入和数字I/O的引脚号。","marks":[]}]}],"state":{}},{"type":"block","id":"gmmX-1714213954071","name":"list-item","data":{"listId":"66Jk-1714213954085","listLevel":1,"listType":"ordered","style":{},"version":1},"nodes":[{"type":"text","id":"0xv4-1714213954070","leaves":[{"text":"特定功能定义:","marks":[]}]}],"state":{"index":6}},{"type":"block","id":"RmfF-1714213954080","name":"code","data":{"language":"c","theme":"default","version":1},"nodes":[{"type":"block","id":"oi3y-1714213954073","name":"code-line","data":{},"nodes":[{"type":"text","id":"8jC8-1714213954072","leaves":[{"text":"#ifdef GDI_DISPLAY_FPC_INTERFACE","marks":[]}]}]},{"type":"block","id":"Jrd3-1714213954075","name":"code-line","data":{},"nodes":[{"type":"text","id":"VNT0-1714213954074","leaves":[{"text":"// ... (一系列与GDI显示相关的引脚定义)","marks":[]}]}]},{"type":"block","id":"yXOi-1714213954077","name":"code-line","data":{},"nodes":[{"type":"text","id":"r8xj-1714213954076","leaves":[{"text":"#endif","marks":[]}]}]},{"type":"block","id":"xwnL-1714213954079","name":"code-line","data":{},"nodes":[{"type":"text","id":"TSfz-1714213954078","leaves":[{"text":"","marks":[]}]}]}],"state":{"tokensPerLine":[[{"type":"directive-hash","content":"#"},{"type":"directive","content":"ifdef"},{"type":"macro","content":" "},{"type":"expression","content":"GDI_DISPLAY_FPC_INTERFACE"}],[{"type":"comment","content":"// ... (一系列与GDI显示相关的引脚定义)"}],[{"type":"directive-hash","content":"#"},{"type":"directive","content":"endif"}],[]]}},{"type":"block","id":"9di3-1714213954082","name":"paragraph","data":{"style":{},"version":1},"nodes":[{"type":"text","id":"Qxby-1714213954081","leaves":[{"text":"这部分代码检查是否定义了GDI_DISPLAY_FPC_INTERFACE宏。如果定义了,则它将定义FPC(Flexible Printed Circuit,柔性印刷电路)接口相关的引脚。","marks":[]}]}],"state":{}},{"type":"block","id":"LJCc-1714213954084","name":"paragraph","data":{"style":{},"version":1},"nodes":[{"type":"text","id":"74nG-1714213954083","leaves":[{"text":"总的来说,这个头文件为特定兼容板提供了引脚映射,使得在编写代码时可以使用这些有意义的常量名称,而不是直接使用引脚号,从而提高了代码的可读性和可维护性。","marks":[]}]}],"state":{}}]">
<ol yne-block-type="list">
<li><span style="font-size:18px;">预处理:</span></li>
</ol>
<pre>
<code>#ifndef Pins_Arduino_h
#define Pins_Arduino_h</code></pre>
<p><span style="font-size:18px;">这使用了预处理器指令来避免头文件的重复包含,这是一个常见的编程技巧,确保头文件的内容只被包含一次。</span></p>
<ol start="2" yne-block-type="list">
<li><span style="font-size:18px;">内置LED和串行通信引脚:</span></li>
</ol>
<pre>
<code>static const uint8_t LED_BUILTIN = 15;
#define BUILTIN_LEDLED_BUILTIN
#define LED_BUILTIN LED_BUILTIN
static const uint8_t TX = 16;
static const uint8_t RX = 17;</code></pre>
<p><span style="font-size:18px;">这里定义了Arduino板上的内置LED的引脚号,Arduino UNO R3通常是数字13,FireBeetle 2 ESP32 C6在这里是15,以及串行通信的TX(发送)和RX(接收)引脚。</span></p>
<ol start="3" yne-block-type="list">
<li><span style="font-size:18px;">IIC引脚:</span></li>
</ol>
<pre>
<code>static const uint8_t SDA = 19;
static const uint8_t SCL = 20;</code></pre>
<ol start="4" yne-block-type="list">
<li><span style="font-size:18px;">SPI引脚:</span></li>
</ol>
<pre>
<code>static const uint8_t SS = 5;
static const uint8_t MOSI = 22;
static const uint8_t MISO = 21;
static const uint8_t SCK = 23;</code></pre>
<p><span style="font-size:18px;">SPI(Serial Peripheral Interface)是一种同步串行数据协议,用于微控制器与其他设备之间的通信。这里定义了SPI通信所需的引脚。</span></p>
<ol start="5" yne-block-type="list">
<li><span style="font-size:18px;">模拟和数字引脚:</span></li>
</ol>
<pre>
<code>static const uint8_t A1 = 2;
// ... (其他模拟引脚)
static const uint8_t D2= 8;
// ... (其他数字引脚)</code></pre>
<p><span style="font-size:18px;">这些常量定义了Arduino板上用于模拟输入和数字I/O的引脚号。</span></p>
<ol start="6" yne-block-type="list">
<li><span style="font-size:18px;">特定功能定义:</span></li>
</ol>
<pre>
<code>#ifdefGDI_DISPLAY_FPC_INTERFACE
// ... (一系列与GDI显示相关的引脚定义)
#endif
</code></pre>
<p><span style="font-size:18px;"> 这部分代码检查是否定义了GDI_DISPLAY_FPC_INTERFACE宏。如果定义了,则它将定义FPC(Flexible Printed Circuit,柔性印刷电路)接口相关的引脚。</span></p>
<p><span style="font-size:18px;">总的来说,这个头文件为特定兼容板提供了引脚映射,使得在编写代码时可以使用这些有意义的常量名称,而不是直接使用引脚号,从而提高了代码的可读性和可维护性。</span></p>
<p> </p>
<article data-content="[{"type":"block","id":"IWTl-1714214500490","name":"paragraph","data":{"style":{},"version":1},"nodes":[{"type":"text","id":"PuXl-1714214500488","leaves":[{"text":"","marks":[]}]}],"state":{}},{"type":"block","id":"OniZ-1714214501283","name":"paragraph","data":{"style":{},"version":1},"nodes":[{"type":"text","id":"rXtH-1714214501281","leaves":[{"text":"2 ","marks":[]},{"text":"FireBeetle 2 ESP32 C6的双闪灯","marks":[{"type":"bold"},{"type":"color","value":"#343434"},{"type":"backgroundColor","value":"rgb(238, 238, 238)"}]}]}],"state":{}},{"type":"block","id":"QmhQ-1714215400425","name":"paragraph","data":{"style":{},"version":1},"nodes":[{"type":"text","id":"8NJp-1714215400423","leaves":[{"text":"控制2个LED交替闪烁","marks":[{"type":"bold"},{"type":"color","value":"#343434"},{"type":"backgroundColor","value":"rgb(238, 238, 238)"}]}]}],"state":{}},{"type":"block","id":"KeJm-1714215372463","name":"paragraph","data":{"style":{},"version":1},"nodes":[{"type":"text","id":"q25S-1714215372462","leaves":[{"text":"2.1 LED原理图","marks":[{"type":"bold"},{"type":"color","value":"#343434"},{"type":"backgroundColor","value":"rgb(238, 238, 238)"}]}]}],"state":{}}]">
<p><strong>2 FireBeetle 2 ESP32 C6的双闪灯</strong></p>
<p>2.1实验目的</p>
<p> 控制2个LED交替闪烁,实验数字IO,和延时函数的应用</p>
<p>2.2LED原理图</p>
<p style="text-align: center;"> </p>
<p> </p>
<p> </p>
<p> </p>
<p>2.3实验代码</p>
<pre>
<code>#define LED_BLUE SCK
#define LED_RED MOSI
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BLUE, OUTPUT);
pinMode(LED_RED, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BLUE, HIGH);// turn the LED on (HIGH is the voltage level)
delay(200); // wait for a second
digitalWrite(LED_BLUE, LOW); // turn the LED off by making the voltage LOW
delay(200); // wait for a second
digitalWrite(LED_RED, HIGH);// turn the LED on (HIGH is the voltage level)
delay(200); // wait for a second
digitalWrite(LED_RED, LOW); // turn the LED off by making the voltage LOW
delay(200); // wait for a second
}</code></pre>
<p>2.4实验现象</p>
<p>93a1ed11f808cbaf8d2e1b3a54cc3d4e<br />
</p>
<p> </p>
<p> </p>
</article>
</article>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>Arduino环境下玩这个esp32开发板确实好玩一些,开发环境不复杂</p>
页:
[1]