Привет всем! У меня с SPI на STM32F непонятка. Передаю 2 байта по SPI1, так что, сначало выбираю чип (CS_LOW) потом по очереди передаю 2 байта, ожидая завершениия передачи, но реально CS_ HIGH срабатывает еще до того как будет передан 2-й байт. Пользуюсь последней перефирийной библиотекой. Что за ерунда?
CS_LOW;
// Wait for SPI1 Tx buffer empty while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET); // Send SPI1 data SPI_I2S_SendData(SPI1, 0x90); // Wait for SPI1 Tx buffer empty while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET); // Send SPI1 data SPI_I2S_SendData(SPI1, 0xAA); // Wait for SPI1 Tx buffer empty while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);
CS_ HIGH;
--------------------
Magic Friend
|