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); 				    
}
相关推荐
Zhang.Yi3 分钟前
STM32-SPI
stm32·单片机·嵌入式硬件
en.en..4 分钟前
网络分层封装 与 TCP粘包的因果关系
网络·单片机·嵌入式硬件
天空'之城23 分钟前
单片机基础核心知识点汇总(三十九)
单片机·嵌入式硬件
爱吃汽的小橘2 小时前
移位运算hao
嵌入式硬件
无敌贵点大王2 小时前
RTThread学习记录10——C语言实现面向对象的编程
c语言·stm32·学习·链表
单片机仿真设计3 小时前
【proteus仿真】基于 STM32F103 的汽车温度监测系统(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·课设
anew___3 小时前
舵机——让 Arduino 动起来
c++·stm32·单片机·嵌入式硬件·c
周洲08304 小时前
STM32 SPI 通信实战|高速通信、片选、数据收发
stm32·嵌入式硬件
POMAGTOR4 小时前
【5G设备POGOPIN连接器 高频弹簧针通信连接器件】
嵌入式硬件·5g·机器人
意法半导体STM324 小时前
【官方原创】LAT1709STM32C5硬件CRC值的计算话题
stm32·单片机·嵌入式硬件·mcu·crc·微控制器·stm32c5