[components][SPI][spi-bit-ops]修复可能的异常操作
拉取/合并请求描述:(PR description)
[
为什么提交这份PR (why to submit this PR)
- [components][SPI][spi-bit-ops]修复可能的异常操作]
- [components][drivers][spi]重命名spi.h为spi_core.h
- [STM32][SPI]根据频率计算收发超时时间
- [STM32][SPI]移除内部编写的延时函数使用统一延时接口
你的解决方案是什么 (what is your solution)
请提供验证的bsp和config (provide the config and bsp)
- BSP: STM32H750
- .config: https://github.com/wdfk-prog/ART-PI/commit/c8a69a5d94b438450e644bef68817b4636f3571b
- action:
spi.h 修改为spi_core.h 防止bsp中包含同样名称.h导致编译异常
[[STM32][SPI]根据频率计算收发超时时间] 编写测试 W25Q128 FLASH正常 读取
模拟SPI编译通过,未进行实际测试;
]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
- [ ] 本拉取/合并请求是一个草稿版本 This PR is for a code-review and is intended to get feedback
- [x] 本拉取/合并请求是一个成熟版本 This PR is mature, and ready to be integrated into the repo
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
- [x] 已经仔细查看过代码改动的对比 Already check the difference between PR and old code
- [x] 代码风格正确,包括缩进空格,命名及其他风格 Style guide is adhered to, including spacing, naming and other styles
- [x] 没有垃圾代码,代码尽量精简,不包含
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up - [x] 所有变更均有原因及合理的,并且不会影响到其他软件组件代码或BSP All modifications are justified and not affect other components or BSP
- [x] 对难懂代码均提供对应的注释 I've commented appropriately where code is tricky
- [x] 代码是高质量的 Code in this PR is of high quality
- [x] 已经使用formatting 等源码格式化工具确保格式符合RT-Thread代码规范 This PR complies with RT-Thread code specification
我觉得1、2commit没有问题,3、4commit需要再讨论一下。我先把1、2commit cherry-pick到仓库了 https://github.com/RT-Thread/rt-thread/pull/9177
我觉得1、2commit没有问题,3、4commit需要再讨论一下。我先把1、2commit cherry-pick到仓库了 #9177
行;第3个commit的话,最少也得把这个头文件宏改掉,不然肯定有问题
#ifndef __SPI_H__
#define __SPI_H__
#endif
我觉得1、2commit没有问题,3、4commit需要再讨论一下。我先把1、2commit cherry-pick到仓库了 #9177
第4个的话,应该来说SPI没有啥速率规定;现在仅用了一个常规条件下能够接收的超时时间; 换成计算的方式会更好
第3个commit的话,最少也得把这个头文件宏改掉,不然肯定有问题
https://github.com/RT-Thread/rt-thread/pull/9301
https://github.com/RT-Thread/rt-thread/pull/9420
还剩下最后一个commit没有合入 [STM32][SPI]根据频率计算收发超时时间 是否直接让用户通过config配置好超时时间更加简单粗暴而且十分明了呢?
还剩下最后一个commit没有合入 [STM32][SPI]根据频率计算收发超时时间 是否直接让用户通过config配置好超时时间更加简单粗暴而且十分明了呢?
- 用户咋知道多长超时是合理的呢?合理的话还是得计算.