硬汉嵌入式论坛

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

[SPI/QSPI] 关于SPI的使用

[复制链接]

2

主题

2

回帖

8

积分

新手上路

积分
8
发表于 2024-6-20 18:31:41 | 显示全部楼层 |阅读模式
在SPI发送数据的时候,但是发送几个数据TXP标志位就被置0了,看手册是说没有可使用的空间了,那么将空间恢复成可使用的状态,即TXP为1,要怎么操作
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117564
QQ
发表于 2024-6-21 09:16:27 | 显示全部楼层
H7的SPI稍麻烦些,这个是等待发送测试

[C] 纯文本查看 复制代码
		SPI5->CR1 = SPI_CR1_SSI; 
		SPI5->CR2 = 2;
		SPI5->CR1 = SPI_CR1_SPE | SPI_CR1_SSI;
		SPI5->CR1 = SPI_CR1_SPE | SPI_CR1_SSI | SPI_CR1_CSTART;
		
		while ((SPI5->SR & SPI_FLAG_TXE) == 0);

		*((__IO uint32_t *)&SPI5->TXDR) = Color;

		while ((SPI5->SR & SPI_SR_TXC) == 0);
		SPI5->IFCR = SPI_IFCR_EOTC | SPI_IFCR_TXTFC;

		SPI5->CR1 &= ~(SPI_CR1_SPE);
回复

使用道具 举报

2

主题

2

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2024-6-21 11:24:18 | 显示全部楼层
eric2013 发表于 2024-6-21 09:16
H7的SPI稍麻烦些,这个是等待发送测试

[mw_shl_code=c,true]                SPI5->CR1 = SPI_CR1_SSI;

感谢,我重新看了一下手册,只要重新将CR1寄存器的SPE为复位就能将TXP置1
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-14 22:55 , Processed in 0.038394 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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