wdfk-prog

Results 106 comments of wdfk-prog

> > > 已经有: RT_DEVICE_FLAG_DMA_RX RT_DEVICE_FLAG_DMA_TX RT_DEVICE_FLAG_INT_TX RT_DEVICE_FLAG_INT_RX 实现区分POLL,INT,DMA方式了,为什么还要加: RT_I2C_USING_POLL RT_I2C_USING_INT RT_I2C_USING_DMA 这三个?而且还是多选一的,如果我有两个 I2C,一个要用 DMA 方式,另一个要用 INT 方式,怎么办? 如果是想自由精简代码,也不应该用单选,可以改为多选方式。 > > > > > > > > * 有道理,偷懒了. >...

- 在F4上重新验证了POLL,INT,DMA模式;并执行了一些修复; - 目前POLL模式无法很好满足I2C接口的eeprom(例如atc24xxx)的页写入命令;由于发送第一帧从机地址+寄存器地址后不允许具有STOP标志;STM32 POLL模式采用`HAL_I2C_Master_Transmit`函数并没有办法做到这一点;使用`HAL_I2C_Mem_Write`的方案有点难以实现,暂时放弃支持. - 其他模式可以满足 ```log 2024/10/3 15:17:11 986] at24cxx [2024/10/3 15:17:16 214] msh >at24cxx read 0 1024 [2024/10/3 15:17:16 215] read from 0, len 1024 [2024/10/3 15:17:16...

- 或许来说,`mode`只是传入而已;你可以选择不进行判断直接重新初始化与卸载; - 这一块就看用户的使用进行编写啦;

https://github.com/XiaojieFan/at24cxx/pull/21

或许可以搞个宏配置选项,是否要开启半双工?

> 目前是检查是否配置了收发切换引脚,如果没配置的话默认还是全双工通信。不过加上宏配置的话代码应该会更清晰些。 我是考虑到固件大小的优化;你这样等于默认平白无故多了些大小

我觉得可以加,有些用户压根就没有编写的能力;提供一个大致的实现流程给配置挺好.

- 另外,CUBEMX初始化的SDMMC时钟跑在PLL2R上,应该是`200mhz`; - 另一个可选择的是PLL2Q,是`480MHZ` - 但是使用`HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_SDMMC)`获取的只有`480mhz` - 强制将获取时钟频率改为`200mhz`,测试读写速率并没有提高或降低. - 不知道是什么原因,art-pi的原理图上没有注明CLK的电阻是哪一颗,没办法用逻辑分析仪测量频率是否设置正常.

- 还有SD的性能提不上了,不知道时钟是否达标了,没法测试; - 还是因为其他原因导致

调换一下顺序,这一块放到最后 ```c #define LOG_TAG "example" #define LOG_LVL LOG_LVL_DBG #include ```