Arduino的引脚图
https://www.geek-workshop.com/thread-11826-1-1.html
ESP8266
https://item.taobao.com/item.htm?_u=n1qf7bf57e4b&id=562045987553
模拟输入 Analog input
ESP8266只有一个ADC通道提供给用户。它可以使用于读取ADC引脚电压,也可使用于读取模块电源电压(VCC)。
读取ADC引脚值电压,使用analogRead(A0)。输入电压范围:0~1.0V。
读取模块电源电压,使用ESP.getVcc() 且ADC引脚不能连接。另外,下面的代码必须添加至程序中:
ADC_MODE(ADC_VCC);
这条代码不能包含在任何函数中,放在程序中 #include 之后即可。
模拟输出 Analog output
analogWrite(pin, value) 在已有的引脚上使能软件PWM功能。PWM可以用在引脚0~16。调用analogWrite(pin, 0) 可以关闭引脚PWM。取值范围:0~ PWMRANGE,默认为1023。 PWM 范围可以使用analogWriteRange(new_range)语句来更改。
PWM 默认频率:1KHz。使用analogWriteFreq(new_frequency) 可以更改频率。
时间与延时 Timing and delays
millis() 和 micros() 分别返回单位为毫秒和微秒的值,复位后值重置。
delay(ms) 暂时程序给定毫秒时间并允许WiFi和TCP/IP任务的运行。delayMicroseconds(us) 暂时程序给定微秒时间。
记住wifi连接后除了素描程序外还有许多代码需要再芯片上运行。每次loop()函数完成时或当delay被调用时,Wifi和TCP/IP库都有机会处理任何等待事件。如果你程序中某处有循环,消耗事件大于50ms且没有调用delay,你可以考虑添加一个调用延时函数以保持Wifi堆栈的平稳运行。
有个 yield()函数和delay(0)功能相同。delayMicroseconds函数,在另一方面,不会为其他任务让步,所以当延时超过20ms时不推荐使用它。
串行 Serial
Serial 功能几乎和普通arduino一样,除了硬件FIFO (128 bytes for TX and RX)有额外256byte TX and RX缓冲区。传输和接收都是中断驱动。当FIFO和缓冲区分别为满和空时,读写功能将阻止程序的运行。
Serial 使用UART0,即引脚映射GPIO1(TX)和GPIO3(RX)。Serial.begin 之后调用Serial.swap()时,Serial引脚将映射到GPIO15(TX)和GPIO13(RX)。再次调用 swap时 引脚映射将回到GPIO1(TX)和GPIO3(RX)。
Serial1 使用UART1,TX引脚为GPIO2。UART1不能用来接收数据因为通常情况RX引脚被用到flash芯片连接了。使用Serail1,调用 Serial1.begin(baudrate)。
如果Serial1没有使用且Serial没有被调换 - 通过在Serial.begin之后调用Serial.set_tx(2)或者直接调用Serial.begin(baud,config,mode,2) 可以将UART0的TX映射到GPIO2。
默认情况下当你调用Serial.begin,Wifi库诊断输出是禁用的。再次启动调试输出,调用Serial.setDebugOutput(true)。调用Serial1.setDebugOutput(true),Serial1重定向调试输出。
你也需要使用Serial.setDebugOutput(true)去使能printf()函数的输出。
Serial和Serial1都支持 5,6,7,8数据位;奇 (O), 偶 (E),无(N) 校验位;1或2停止位。设置所需模式,调用Serial.begin(baudrate,SRIAL_8N1),Serial.begin(baudrate, SERIAL_6E2), etc.
Progmem
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库