knowledge:3d_print:2022102301
差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版 | |||
knowledge:3d_print:2022102301 [2023/06/14 12:32] – 弘毅 | knowledge:3d_print:2022102301 [2023/06/14 12:34] (当前版本) – 弘毅 | ||
---|---|---|---|
行 62: | 行 62: | ||
int8_t xflash_init(void) | int8_t xflash_init(void) | ||
{ | { | ||
- | _CS_HIGH(); | + | |
- | SET_OUTPUT(XFLASH_PIN_CS); | + | SET_OUTPUT(XFLASH_PIN_CS); |
- | XFLASH_SPI_ENTER(); | + | XFLASH_SPI_ENTER(); |
- | if (!xflash_mfrid_devid()) return 0; | + | if (!xflash_mfrid_devid()) return 0; |
- | return 1; | + | return 1; |
} | } | ||
</ | </ | ||
行 74: | 行 74: | ||
int xflash_mfrid_devid(void) | int xflash_mfrid_devid(void) | ||
{ | { | ||
- | _CS_LOW(); | + | |
- | _SPI_TX(_CMD_MFRID_DEVID); | + | _SPI_TX(_CMD_MFRID_DEVID); |
- | uint8_t cnt = 3; // 3 address bytes | + | uint8_t cnt = 3; // 3 address bytes |
- | while (cnt--) | + | while (cnt--) |
- | _SPI_TX(0x00); | + | _SPI_TX(0x00); |
- | uint8_t xflash_mfrid = _SPI_RX(); | + | uint8_t xflash_mfrid = _SPI_RX(); |
- | uint8_t xflash_devid = _SPI_RX(); | + | uint8_t xflash_devid = _SPI_RX(); |
- | _CS_HIGH(); | + | _CS_HIGH(); |
- | return | + | return |
- | ((xflash_mfrid == _MFRID_W25X20CL) && (xflash_devid == _DEVID_W25X20CL)) || | + | ((xflash_mfrid == _MFRID_W25X20CL) && (xflash_devid == _DEVID_W25X20CL)) || |
- | ((xflash_mfrid == _MFRID_GD25Q20C) && (xflash_devid == _DEVID_GD25Q20C)); | + | ((xflash_mfrid == _MFRID_GD25Q20C) && (xflash_devid == _DEVID_GD25Q20C)); |
} | } | ||
</ | </ | ||
通过测试,发现该问题会有LCD2004硬件的SD卡CS到主控接触不良引起。当LCD2004的SD卡的CS到主控接触不良时,就会引起这个错误。 | 通过测试,发现该问题会有LCD2004硬件的SD卡CS到主控接触不良引起。当LCD2004的SD卡的CS到主控接触不良时,就会引起这个错误。 |
knowledge/3d_print/2022102301.txt · 最后更改: 2023/06/14 12:34 由 弘毅