硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2713|回复: 0
收起左侧

[SPI/QSPI] STM32H7诡异的SPI CR2寄存器到底是干啥用的

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106757
QQ
发表于 2019-11-28 08:47:44 | 显示全部楼层 |阅读模式
比如用SPI5发送32bit的数据:

必须设置为2,不设置为2发送的数据就有问题。
uint32_t *ptr;
SPI5->CFG1 = SPI_BAUDRATEPRESCALER_2 | 31;
SPI5->CR2 = 2;
while ((SPI5->SR & SPI_FLAG_TXE) == 0);
*((__IO uint32_t *)&SPI5->TXDR) = *ptr++;


但是发送8bit或者16bit的数据,就没有这个问题
uint16_t *ptr或uint8_t *ptr;
SPI5->CFG1 = SPI_BAUDRATEPRESCALER_2 | 15;
SPI5->CR2 = 1;
while ((SPI5->SR & SPI_FLAG_TXE) == 0);
*((__IO uint16_t *)&SPI5->TXDR) = *ptr++;



手册介绍:
1.jpg

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-4 23:33 , Processed in 0.148013 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表