LL库-使用SPI

LL库-使用SPI

前言

  • 使用STM32CubeMX生成的代码,通常不能直接使用。

SPI

  • 以SPI2为例。在STM32CubeMX自动生成代码之后:
  • MX_SPI2_Init最后添加:
c 复制代码
  /* USER CODE BEGIN SPI2_Init 2 */
	LL_SPI_Enable(SPI2);
//	LL_SPI_TransmitData8(0xff);            // 有的设备加这句 读不到正确的ID
  /* USER CODE END SPI2_Init 2 */
  • MX_SPI2_Init外添加:
c 复制代码
uint8_t SPI2_ReadWriteByte(uint8_t TxData)
{		
	uint8_t retry = 0;				 
	/* Check if Tx buffer is empty */
	while (!LL_SPI_IsActiveFlag_TXE(SPI2)) 
	{
		retry++;
		if(retry > 200) return 0;
	}			  
	/* Write character in Data register.
	TXE flag is cleared by reading data in DR register */
	LL_SPI_TransmitData8(SPI2, TxData);
	retry = 0;
	/* Check if Rx buffer is not empty */
	while (!LL_SPI_IsActiveFlag_RXNE(SPI2)) 
	{
		retry++;
		if(retry > 200) return 0;
	}	  						    
	/* received byte from SPI lines. */
	return LL_SPI_ReceiveData8(SPI2); 				    
}
相关推荐
YouEmbedded2 分钟前
解码STM32定时器:原理、配置与实战
stm32·定时器·pwm·sg90舵机
Xx香菜4 分钟前
单片机—4
单片机·嵌入式硬件
VekiSon12 分钟前
51单片机——GPIO、按键、中断、定时器与PWM
单片机·嵌入式硬件·51单片机
纳祥科技21 分钟前
NX3302,3进1出HDMI/DVI视频切换器芯片,兼容LT8631UX
单片机·嵌入式硬件·音视频
析木不会编程28 分钟前
51单片机程序下载逻辑
单片机·嵌入式硬件·51单片机
羊小猪~~34 分钟前
【QT】-- QT基础类
开发语言·c++·后端·stm32·单片机·qt
Q_21932764552 小时前
基于STM32的智能家居安防系统设计
网络·stm32·智能家居
飞睿科技2 小时前
探讨雷达在智能家居与消费电子领域的应用
人工智能·嵌入式硬件·智能家居·雷达·毫米波雷达
OopspoO2 小时前
万象奥科HD-RK3506-MINI
嵌入式硬件
BreezeJuvenile2 小时前
STM32_存储器与寄存器详细介绍
stm32·存储器·寄存器