由手册可知:SPI_NSS片选引脚适用于从机是低电平片选的芯片。这样能选择硬件SPI片选,代码少两行使能和失能从机片选IO。
配置:
在main.c函数
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
unsigned char ID[2] = {0};
unsigned char cmd[4] = {READ_ID_CMD, 0x00, 0x00, 0x00};
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART1_UART_Init();
MX_SPI5_Init();
/* USER CODE BEGIN 2 */
HAL_Delay(100);
printf("sudaroot\r\n");
HAL_SPI_Transmit(&hspi5, cmd, 4, HAL_MAX_DELAY);
HAL_SPI_Receive (&hspi5, ID, 2, HAL_MAX_DELAY);
printf("ID = 0x%02X%02X\r\n", ID[0], ID[1]);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
全篇完。
本人是一个嵌入式未入门小白,博客仅仅代表我个人主观见解,记录成长笔记。
笔记是以最简单的方式,只展示最核心的原理。
若有与 大神大大 见解有歧义,我绝对坚信 大神大大 见解是对的,我的是错的。
若无积分等无法下载源码,可加入QQ群657407920下载交流经验。感谢~!