Цитата(Pasa @ Jul 16 2016, 00:08)

Так это само в HAL-библиотеке делается.
В СubeMX при ините hspi в файле spi.c :
hspi1.Init.NSS = SPI_NSS_HARD_OUTPUT; //(SPI_NSS_HARD_OUTPUT = 0x0004 0000;)
И уже на нижнем уровне в stm32f0xx_hal_spi.c прописывается в CR2 бит SSOE(ну или вы назвали его NSSP):
hspi->Instance->CR2 = (((hspi->Init.NSS >> 16) & SPI_CR2_SSOE) | hspi->Init.TIMode | hspi->Init.NSSPMode | hspi->Init.DataSize ) | frxth; //(SPI_CR2_SSOE = 4)
...но все равно попробовал руками ставить в CR2 бит 0x04......как и ожидал.....все равно CS скачет
NSSP и SSOE разные вещи, и если склероз мне не изменяет обе должны быть в 1. С кубом дела не имел, делал либо ручками, либо пользовал HAL из состава ChibiOS.
родные же СТМовские либы рядом с ним полное Г. (во всяком случае FWLibrary) думаю что и куб недалеко ушел.
Кстати я всегда использую SPI в связке с DMA. В этом случве работает именно так, как Вам надо. Возможно что только в этом случае, по другому использовать SPI / STM32 не приходилось. Еще могу добавить что такая фича SPI имеется на STM43F0x, и STM32F37x/ А вот STM32F40x, F41x, F20x, ее нет. Про более новые не в курсе
Сообщение отредактировал nanorobot - Jul 15 2016, 21:50