环境:如题:S3(Master)《=SDIO=》C6 (Slave) 使用 V5.3.1 的 examples/peripherals/sdio
物理连接,按照官网描述
S3 || C6
IO15 CMD 18
IO14 CLK 19
IO2 D0 20
IO4 D1 21
IO12 D2 22
IO13 D3 23
pullup 处理
外接 10K pullup;
或者使用 IC 内置的 pullup: 打开其配置flag:.flags = SDIO_SLAVE_FLAG_INTERNAL_PULLUP,
现象:
S3 可以发出 CLK + CMD,但 C6 总是不响应 S3 的CMD(C6 不回 Response)
目前还没有看其 SDIO 的 reg,初步dump 其中断相关的 reg,看起来是有反应的:
slc->slc0int_raw 在 Master 发 cmd 后,会变为:210000 =》2210000
但其 bit25 又是 reserved 的 !!!
Code: Select all
/** cmd_dtc_int_st : RO; bitpos: [25]; default: 0;
* reserved
*/
uint32_t cmd_dtc_int_st:1;
dump了部分reg,只有 slc0int_raw有变化。
Code: Select all
[color=#FF00BF]raw:2210000[/color] st:0 st1:0 ena:240ff ena1:0
slc0_done_dscr_addr:4080c248 slc0_push_dscr_addr:4080c248 slc0_dscr_cnt:0 slc0_dscr_rec_conf:3ff
slc0_len_conf:10000000 slc0_len_lim_conf:5400 slc0_rxlink_dscr:0 slc0_rxlink_dscr_bf0:0
slc0_rxpkt_e_dscr:0 slc0_rxpkt_h_dscr:0 slc0_txlink_dscr:40811eac slc0_txlink_dscr_bf0:40811e98
slc0_txpkt_e_dscr:0 slc0_txpkt_h_dscr:0