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); 				    
}
相关推荐
余生皆假期-2 小时前
无感观测的锁相环 (PLL) 原理与实现方式
单片机·嵌入式硬件
Menida3 小时前
STM32 加强篇 定时器&PWM波应用实验——用无源蜂鸣器播放音乐/放歌
stm32·单片机·嵌入式硬件·定时器·无源蜂鸣器·pwm波
Struggle to dream3 小时前
STM32中断的种类以及使用注意事项
stm32·单片机·嵌入式硬件
_Ningye3 小时前
STM32 — 1-2 — STM32简介
stm32·单片机·嵌入式硬件
m0_555762903 小时前
高级定时器
单片机·嵌入式硬件
DLGXY3 小时前
STM32(十八)——IIC通信、MPU6050、IIC外设
stm32·单片机·嵌入式硬件
Struggle to dream4 小时前
STM32关于GPIO的模式配置详解
stm32·单片机·嵌入式硬件
上海合宙LuatOS4 小时前
LuatOS核心库API——【fatfs】支持FAT32文件系统
java·前端·网络·数据库·单片机·嵌入式硬件·物联网
xiaobobo33304 小时前
评判一下stm32的标准库函数写的怎样?
stm32·单片机·嵌入式硬件
码农三叔4 小时前
(11-4-01)完整人形机器人的设计与实现案例:机器人的站立与行走
人工智能·嵌入式硬件·机器人·人机交互·人形机器人