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); 				    
}
相关推荐
yong99903 小时前
在 STC15W201S 上实现 MODBUS RTU 协议
stm32·单片机·嵌入式硬件
xzl044 小时前
瑞萨 FSP 和 STM32 HAL 库的启动流程核心差异
stm32·单片机·嵌入式硬件·rt-thread
芯希望4 小时前
XBLW芯伯乐XBL1507B系列3A 150kHz 40V DC-DC转换器,高效率宽输入电源解决方案
单片机·嵌入式硬件·dc-dc·工业控制·国产替代·电源管理·xblw芯伯乐
不做无法实现的梦~4 小时前
STM32 蜗轮蜗杆电机控制系统设计
stm32·单片机·嵌入式硬件
foundbug9994 小时前
STM32 上实现 Modbus-RTU
stm32·单片机·嵌入式硬件
飞睿科技5 小时前
飞睿智能5.8G毫米波雷达智能猫砂盆检测方案
嵌入式硬件·物联网·雷达·智能猫砂盆·宠物用品
小叮当⇔5 小时前
TI电源管理芯片——TPS65251RHAR手册
单片机·嵌入式硬件
leo__5205 小时前
51单片机实现读写U盘
嵌入式硬件·mongodb·51单片机
项目題供诗5 小时前
STM32-GPIO输入(四)
stm32·单片机·嵌入式硬件
我在人间贩卖青春6 小时前
ADC采集
stm32·adc