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

F072 SPI 通讯异常

[复制链接]
waiman 发布时间:2019-9-4 18:05
使用STM32F072C8T6芯片驱动OLED,从F103标准库移植到HAL库,发现一个很奇葩的问题。
如果用HAL库内的 HAL_SPI_TransmitReceive 函数,SCK可以正常发出8bit的波形。
但自己写的驱动函数,SCK都会发出16bit的波形。

正常的8bit波形:
8bit.PNG


异常的16bit波形:
16bit.png


经过对HAL库单步调试发现,原来是DR寄存器的访问地址方式,决定了SCK的位数!!!!!
与F1系列不同的是,F0的SCK的位数并不受CR2的DS位约束
DR如果看作是16bit地址写入,SCK发出16bit长度。就算是DS标志工作在8BIT模式!
DR看作是8bit地址写入,SCK发出8bit长度。
hal.PNG


而是根据DR寄存的写寄存器地址长度决定的!
DS.PNG

收藏 评论0 发布时间:2019-9-4 18:05

举报

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