赞
踩
先放上代码:
- hspi1.Instance = SPI1;
- hspi1.Init.Mode = SPI_MODE_SLAVE;
- hspi1.Init.Direction = SPI_DIRECTION_2LINES;
- hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
- hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH;
- hspi1.Init.CLKPhase = SPI_PHASE_2EDGE;
- hspi1.Init.NSS = SPI_NSS_SOFT;//SPI_NSS_HARD_OUTPUT;
- // hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
- hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
- hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
- hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
- hspi1.Init.CRCPolynomial = 7;
- hspi1.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE;
- hspi1.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;
-
- if(HAL_SPI_Init(&hspi1) != HAL_OK) {
- _Error_Handler(__FILE__, __LINE__);
- }
-
- HAL_SPI_Receive_IT(&hspi1, receive_data, 162);
-
-
-
-
- void SPI1_IRQHandler(void)
- {
-
-
-
- HAL_SPI_IRQHandler(&hspi1);
-
-
- HAL_SPI_Receive_IT(&hspi1, receive_data, 162);
-
-
-
- }
笔者是采用这个代码进行SPI持续接收的,将中断接收函数放在SPI_RxISR_8BIT90函数下的SPI1_RxCpltCallback()中时,会丢包,所以没有采用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。