我在通过Olimex连接ENC28J60-H到我的STM32L-Discovery时遇到问题。 因此,我编写代码,读取ECON1寄存器,写入一些值并再次读取它。这是一个问题:当我在代码中使用调试器的每一行(F10)时,一切都很顺利。但是当我在这行后面设置断点时,寄存器返回0x00。 我决定,ENC只是没有足够的时间将值写入寄存器。但手册说,它有自己的晶体振荡器,频率为20或25 MHz(不记得准确)。我的频率大约是150 kHz。 无论如何,在每次SPI发送或接收之后,我都设置了一个Delay(循环中的简单计数器)。这有帮助。 然后我继续前进。我写一个Init函数(软复位,比将所需值写入寄存器),在主函数中使用它。调用它之后,我再次读取一个ECON1寄存器。而我所有得到的是0x00,即使有延迟。 有没有人知道在这种情况下该做什么?STM32L + ENC28J60(Olimex)
2
A
回答
1
通过SPDR发送一个字节后,测试SPSR寄存器中的SPIF位(0x80)。当SPIF == 1时,数据已发送。
因为您正在给传输(和ENC28J60中的内部逻辑)时间完成,所以延迟会起作用。
相关问题
- 1. STM32L LCD接口
- 2. 使用enc28j60无法发送GET请求arduino使用enc28j60
- 3. STM32L-Discovery EXTI中断失败
- 4. 的SAM7-P256商Olimex板
- 5. 如何开始olimex sam7-p256
- 6. 如何使用ENC28j60 STM32F103
- 7. Arduino的以太网ENC28J60
- 8. STM32L发现一步一步调试
- 9. 从stm32F到stm32L的C代码修改
- 10. Stuck with STM32L-Discovery的基本编程
- 11. Arduino以太网盾v1.1 ENC28J60 MAC地址
- 12. 发送stm32中ENC28J60的数据
- 13. 使用Android移动设备时,Arduino的Enc28j60挂起
- 14. 商Olimex心电图,肌电图的Arduino屏蔽(Linux的显示器)
- 15. arduino mega + ENC28J60以太网模块直接连接到PC接收/发送UDP
- 16. Microduino ENC28J60以太网模块(与Arduino兼容)UDP发送不工作
- 17. 带有UEXT连接器和PIC MCU的Olimex Zigbee模块。为什么PIC MCU要进行编程?
- 18. windows上的openocd无效命令“jtag”与phytec lpc3250目标使用olimex arm-usb-ocd -h jtag加密狗
- 19. 在设备树中使用什么“兼容”键?
- 20. 堆积盾没有足够的力量 - 昏暗的PWR灯
- 21. 使用STM32l100rc HAL库
- 22. 卡没有响应电压选择!在uboot mmc info命令中
- 23. DHCP服务器不发送报价
- 24. 三重播放测试使用PIC24微控制器
- 25. 如何使用openOCD和gdb编写STM32闪存
- 26. Port32B上的PIC32MX220F032D ADC
- 27. 更改液晶屏蔽的地址
- 28. 我可以在评估板上使用SD存储器而不是闪存运行程序(嵌入式编程)吗?
- 29. Arduino ESP8266 Socket.io问题
- 30. 无法运行输入Cature模式与SPI