完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我在 ESP8266 (Wemos D1 mini R2) 和 NFC 卡 (BM019) 之间使用 SPI 通信时遇到了一个奇怪的问题。
(我在 Windows 10 上使用 Arduino IDE)安装了 es8266 版本 2.5.2 SPI 初始化正常(并且 NFC 协议的 BM019 设置正常) Master(ESP8266)发送的所有数据都被 slave 正确接收 但是当我从从机询问数据,第一位丢失,所有接收到的数据都左移一位(???) SPI init: 代码:全选 const int SSPin = 15; // Slave Select pin const int IRQPin = 16; // Sends wake-up pulse for BM019 const int MOSIPin = 13; const int SCKPin = 14; void setup() { ... SPI.setDataMode(SPI_MODE0); SPI.setBitOrder(MSBFIRST); SPI.setClockDivider(SPI_CLOCK_DIV128); SPI.begin(); … digitalWrite(SSPin, LOW); SPI.transfer(0x00); // SPI control byte to send command to CR95HF SPI.transfer(0x02); // Set protocol command SPI.transfer(0x02); // length of data to follow SPI.transfer(0x01); // code for ISO/IEC 15693 SPI.transfer(0x0D); // Wait for SOF, 10% modulation, append CRC digitalWrite(SSPin, HIGH); } 稍后在代码中(例如 Inventory 命令或从 NFC 标签读取数据,所有数据都向左移动一位,最高有效位丢失......(我已经用逻辑分析仪验证了 Slave 发送的数据是好的) : 代码:全选... digitalWrite(SSPin, LOW); SPI.transfer(0x02); // SPI control byte for read RXBuffer[0] = SPI.transfer(0); // response code sent (Logic Analizer) 0x80 but RXBuffer[0]=0 RXBuffer[1] = SPI.transfer(0); // length of data sent (Logic Analizer) 0x0D but RXBuffer[1]=0x1A digitalWrite(SSPin, HIGH); 我尝试使用 ESP32 (MH-et-LIVE) 但我遇到了同样的问题... 有人可以帮我解决这个问题吗? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
472 浏览 0 评论
998 浏览 0 评论
1713 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1370 浏览 1 评论
1256 浏览 1 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1289浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
943浏览 3评论
2390浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2581浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1071浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-15 06:14 , Processed in 0.765644 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
310
