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); 				    
}
相关推荐
麦德泽特1 小时前
STM32与Linux的无缝协作:通过USB CDC/VCP实现高效数据交互
linux·stm32·单片机·嵌入式硬件·安全
良许Linux1 小时前
FPGA原理和应用
stm32·单片机·fpga开发·程序员·嵌入式·编程
清风6666662 小时前
基于单片机的夹具压力控制系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
点灯小铭3 小时前
基于单片机的智能家居智能雨水自动关窗控制系统设计
单片机·嵌入式硬件·毕业设计·智能家居·课程设计·期末大作业
点灯小铭3 小时前
基于单片机的电加热炉智能温度与液位PID控制系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
kanhao1006 小时前
FRAM MCU 市场格局与 MSP430 的统治地位分析
单片机·嵌入式硬件
犽戾武7 小时前
Quest:视频 + 元数据 + 可点击目标(与RK进行UDP通信)
单片机·嵌入式硬件
BackCatK Chen16 小时前
第15篇:TMC2240闭环控制软件实现|编码器数据融合+丢步修正(保姆级)
嵌入式硬件·闭环控制·tmc2240·stm32实战·编码器数据融合·丢步修正·定位精度优化
隔壁大炮17 小时前
I2C通信协议
单片机·嵌入式硬件·铁头山羊
凌晨7点18 小时前
DSP学习F28004x数据手册:第13章-ADC
单片机·嵌入式硬件·学习