- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个充当I2C主设备的TM4C123处理器和一个作为从设备的ESP8266。对于ESP,我使用的是Arduino IDE,并在版本2.5.2中安装了ESP8266,该版本应支持I2C从属模式。但是,我无法使其正常工作。即使使用Arduino slave_receiver示例,从属也不会确认(ACK)我在示波器上显示的主控请求。
为了确保至少使用一次正确的地址,我在主机上执行了地址扫描。为了确保我在ESP上使用了正确的引脚,我首先在ESP上实现了主模式,然后对I2C从设备进行了引脚扫描。因此,我相当确定这都不是问题。
我正在使用带有SDA引脚12和SCL引脚13(Schematic here)的Olimex Mod-wifi板
有人可以帮我吗?这是我的代码:
// Wire Slave Receiver
// by devyte
// based on the example by Nicholas Zambetti <http://www.zambetti.com>
// Demonstrates use of the Wire library
// Receives data as an I2C/TWI slave device
// Refer to the "Wire Master Writer" example for use with this
// This example code is in the public domain.
#include <Wire.h>
#define SDA_PIN 12
#define SCL_PIN 13
const int16_t I2C_SLAVE = 0x12;
void setup() {
Serial.begin(115200); // start serial for output
Wire.begin(SDA_PIN, SCL_PIN, I2C_SLAVE); // new syntax: join i2c bus (address required for slave)
Wire.onReceive(receiveEvent); // register event
}
void loop() {
delay(1000);
Serial.println("Loop");
}
// function that executes whenever data is received from master
// this function is registered as an event, see setup()
void receiveEvent(size_t howMany) {
(void) howMany;
while (1 < Wire.available()) { // loop through all but the last
char c = Wire.read(); // receive byte as a character
Serial.print(c); // print the character
}
int x = Wire.read(); // receive byte as an integer
Serial.println(x); // print the integer
}
最佳答案
ESP8266有一个可比较的问题。通过I²C在Arduino Nano(从站)和ESP8266(主站)之间发送数据没问题。但是,当我切换模式(Arduino Nano = Master和ESP8266 = Slave)时,Wire示例不起作用。
我针对此问题的解决方法是将I²C工作频率从100kHz降低到大约20kHz。
关于c++ - ESP8266 I2C从站不应答数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57220912/
前不久,哔哩哔哩(一般常称为 B 站)发布了一篇文章《2021.07.13 我们是这样崩的》,详细回顾了他们在 2021.07.13 晚上全站崩溃约 3 小时的至暗时刻,以及万分紧张的故障定位与恢复过
想象一下这种情况,周围有一些智能手机和计算机,它们的 WiFi 适配器(无线适配器)打开,但没有必要连接到网络。 有没有办法通过 Linux 机器查看 MAC 地址? 任何见解表示赞赏。 最佳答案 断
我无法创建新的 Window Station 来运行我的应用程序 int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { wprintf(L"
在 Conda 环境中安装包后,我想对该包中的代码进行一些更改。 在哪里可以找到包含已安装包的 site-packages 目录? 我有 Anaconda Python 2.7 base 发行版,但找
今天去改了matplotlib的配置。搜索 matplotlibrc 发现我有两个: 查看site-packages 文件夹,我发现很多包的名称中都有波浪号: ~klearn 是 sklearn ,但
我是一名优秀的程序员,十分优秀!