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); 				    
}
相关推荐
The_superstar635 分钟前
衡山派学习之串口
单片机·嵌入式硬件·串口·衡山派
Ww.xh1 小时前
STM32按键去抖动软件实现详解
stm32·单片机·嵌入式硬件
ghie90901 小时前
基于STM32的CAN通信完整例程(HAL库实现)
stm32·单片机·嵌入式硬件
lzj_pxxw1 小时前
W25Q64存储芯片 软件设计刚需常识
stm32·单片机·嵌入式硬件·mcu·学习
蓝天居士4 小时前
M24C64芯片资料与程序代码(2)
嵌入式硬件·芯片资料
吃米饭6 小时前
HC32L021C8UB 移植 FreeRTOS
stm32·嵌入式·freertos·rtos
asjodnobfy7 小时前
开关电源尖峰电压计算
嵌入式硬件·硬件工程
振南的单片机世界7 小时前
开漏输出:只能拉低,不能拉高,高电平靠“外部”帮忙
stm32·单片机·嵌入式硬件
FFF团团员9098 小时前
CCS快速使用4(tim,pwm)
单片机·嵌入式硬件
某先森不吃鱼8 小时前
工程日志——离轴编码器矫正与磁场串扰解决
嵌入式硬件