реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Вопросы по трансиверам Si446x
alux
сообщение Dec 7 2015, 10:14
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447



Проблема была связана с SPI STM32F0. С использованием прерывания по SPI и ожидания завершения текущей операции решило проблему:
CODE
void SPI_WriteData(uint8_t* Buff, uint8_t size)
{
if(HAL_SPI_TransmitReceive_IT(&pSpiHandle, (uint8_t*)Buff, (uint8_t*)Buff, size) != HAL_OK)
{
/* Transfer error in transmission process */
Error_Handler();
}
/* Wait for the end of the transfer */
while (HAL_SPI_GetState(&pSpiHandle) == HAL_SPI_STATE_BUSY_TX);
}

void SPI_ReadData(uint8_t* Buff, uint8_t size)
{
if(HAL_SPI_TransmitReceive_IT(&pSpiHandle, (uint8_t*)Buff, (uint8_t*)Buff, size) != HAL_OK)
{
/* Transfer error in transmission process */
Error_Handler();
}
/* Wait for the end of the transfer */
while (HAL_SPI_GetState(&pSpiHandle) == HAL_SPI_STATE_BUSY_RX);
}
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th August 2025 - 01:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01359 секунд с 7
ELECTRONIX ©2004-2016