你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F7的SPI2配置问题

[复制链接]
shiweicl1314 提问时间:2017-1-26 19:44 /
   今天在写LCD屏的触摸程序XPT2046调试了1个小时都没调通SPI配置的8位模式,最后没办法了就用逻辑分析仪抓捕了SPI2的时序发现SPI尽然是16位模式,比如发送字节1=0XAA,字节2=0X55,总线上实际是发送的是0XAA00和0X5500,经过测试无论是把CR2的DataSize位设置成几SPI实际工作模式都是16位,猜想估计是值没写进寄存器然后仿真看了CR2的DS位正确写入了0x7但是就是无法配置成8位!这个是不是STM32F7的BUG??
收藏 1 评论4 发布时间:2017-1-26 19:44

举报

4个回答
zoomdy 回答时间:2017-1-26 21:31:57
可以看看勘误手册有没有相关的描述。
wenyangzeng 回答时间:2017-1-27 07:36:38
本帖最后由 wenyangzeng 于 2017-1-27 07:46 编辑

这是我几年前遇到的问题,可以供你参考:
https://www.stmcu.org.cn/module/forum/thread-566825-1-1.html
解决方法在7楼,然后你可以在HAL中如法炮制。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

shiweicl1314 回答时间:2017-1-28 10:46:23
wenyangzeng 发表于 2017-1-27 07:36
这是我几年前遇到的问题,可以供你参考:
https://www.stmcu.org.cn/module/forum/thread-566825-1-1.html
解决 ...

STM32F7的SPI的确是增加了FIFO,不过FIFO我进行了配置结果还是一样,我使用的寄存器操作没有用官方库,不知道你有没有找出具体的原因呢?
shiweicl1314 回答时间:2017-1-28 12:13:19
本帖最后由 shiweicl1314 于 2017-1-28 12:18 编辑

问题解决了,的确是F7的BUG!
UINT32 *data_reg =&SPIx_DR;  //先获得SPI数据寄存器地址

发送时: *(UINT8 *)data_reg =Data;
接收时: Data =*(UINT8 *)data_reg;


如果是直接操作寄存器无论数据长度设置为几位结果数据传送都是16位.

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版