完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
你好。
对将 arduino pro micro 的代码改编为 esp8266 的问题感兴趣。 据我了解,esp8266 不支持使用端口,它根本就没有。 使用 DDRB PORTB 或 DDRD PORTD 的代码不起作用,包括。给出编译器错误。 代码:全选 uint8_t pd = PIND & B10100; // pins 2 and 4 direct reading ((pd == B10100) || (pd == B00000)) ? encoderPos++ : encoderPos--; 总的来说,当然,有趣的是,ESP8266 是一个相当强大的模块,带有 80 MHz CPU 和板载 Wi-Fi,但它不能处理与速度较慢的 arduino UNO 或 PRO MICRO - 16 MHz 且没有 Wi-Fi 相同的代码. 就如何成为给出建议。 或者代码没有解决问题,需要在硬件上把ESP8266和UNO结合起来? ... 还有一个问题 - 也许有人遇到了 N5110_SPI 库?https://github.com/cbm80amiga/N5110_SPI我将 RST/CE/DC 的引脚连接到 ESP8266 的数字引脚中。并将 DIN/CLK 的引脚连接到硬件 SPI 引脚。诺基亚 5110 的显示屏不显示图像。 告诉我一些关于如何成为的建议,或者是否只有一种解决方案 - 从 atmega 328p 和 ESP8266 上取一块板? |
|
相关推荐
1个回答
|
|
您所说的是正确的,ESP8266是不支持使用端口的。它擅长使用GPIO。DDRB,PORTB,DDRD和PORTD是Arduino AVR Microcontroller的寄存器。在ESP8266上,您需要使用GPIO寄存器来控制引脚。
要解决您的问题,请考虑以下步骤: 1. 将引脚从端口B / D切换到GPIO。查找ESP8266上的GPIO引脚图,并将引脚重新连接到所需的GPIO引脚上。请注意,有时需要更改代码中引脚号的定义。 2. 更改代码以使用适当的ESP8266 GPIO寄存器。您需要找到对应于DDR,PORT和PIN寄存器的寄存器。在ESP8266上,这些寄存器被称为GPIOx_MUX_REG,GPIOx_OUT_REG和GPIOx_IN_REG,其中x是GPIO号。 3. 在更改代码后,重新编译并上传到ESP8266。 请注意,ESP8266芯片是相当强大的,但是与Arduino AVR Microcontrollers相比,它的GPIO速度较慢。因此,在GPIO输入读取和输出设置的情况下,您需要自己进行测试和调整。 |
|
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
437浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 23:03 , Processed in 0.998033 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号