Пт дек 11, 2015 09:56:53
scorpi_0n писал(а):Ой! А что это?
Ну у вас же всё наперекосяк.
Отправляем байт в DR ждём TXE=1 ждём BSY=0. Поднимаем CS если нужно. Это передача одного байта.
Отправляем байт в DR ждём TXE=1 отправляем следующий байт ждём TXE=1 отправляем следующий байт и т. д. ждём TXE=1 ждём BSY=0. Поднимаем CS если нужно. Это передача нескольких байт.
В RM же всё разрисовано. Купите логический анализатор и такие вопросы не будут возникать.
Пт дек 11, 2015 11:22:25
Andrew Martin писал(а):Ну-ну, анализатор в ЛНР
А в чем собственно разница?
Те же яйца, только в профиль
Пт дек 11, 2015 12:51:22
scorpi_0n писал(а):Понимаю. Но STM32 вы же где-то брали? Они же тоже на грядках не растут.
scorpi_0n писал(а): Без анализатора изучение СТМ32 это очень надолго.
scorpi_0n писал(а): Что у всех работает а у вас нет.
Пт дек 11, 2015 14:47:56
Andrew Martin писал(а):Я видел здесь только одного человека, который реально запускал SPI на STM32F030 (это dosikus), остальные только теоретизировали на тему как ДОЛЖЕН работать SPI (как написано в RM я и сам знаю), и не смогли дать НИ ОДНОГО толкового примера.
Потому что баловаться с SPL - это одно дело, а знать тонкости периферии в конкретной линейке - другое.
Пт дек 11, 2015 16:40:17
Andrew Martin писал(а):Очередная демагогия.
Я видел здесь только одного человека, который реально запускал SPI на STM32F030 (это dosikus), остальные только теоретизировали на тему как ДОЛЖЕН работать SPI (как написано в RM я и сам знаю), и не смогли дать НИ ОДНОГО толкового примера.
Потому что баловаться с SPL - это одно дело, а знать тонкости периферии в конкретной линейке - другое.
Пт дек 11, 2015 19:08:45
scorpi_0n писал(а):У меня на столе сейчас прикручена STM32F050 (по новому - STM32F031) и всё работает. Что 8 бит что 16 что 9. Все биты отрабатываются правильно. SPL не пользуюсь.
Пт дек 11, 2015 19:12:36
a5021 писал(а): Я тут намедни взялся покурить датчик давления, т.ч. на столе макетка с этим самым STM32F030K6 оказалась как раз кстати. Сейчас специально подоткнул индикатор на двух HC595 через SPI. Работает без вопросов. В чем нечеловеческий подвиг запуска SPI на STM32, никак в толк взять не могу.
Пт дек 11, 2015 19:23:32
Пт дек 11, 2015 19:33:06
Andrew Martin писал(а):Ну и на кой нужна ваша фотосессия? Пайкой и макетками хвастаетесь?
Код предъявите.
SPI1->CR2 = SPI_CR2_DS_0 | SPI_CR2_DS_1 | SPI_CR2_DS_2 | SPI_CR2_DS_3;
SPI1->CR1 = SPI_CR1_MSTR | SPI_CR1_SPE | SPI_CR1_SSI | SPI_CR1_SSM;
Сб дек 12, 2015 11:01:01
Andrew Martin писал(а):Ещё скажите что на 051 и на 030 один и тот же RM
Где код? Инициализацию и передачу в студию.
A.17 SPI code example
A.17.1 SPI master configuration code example
/* (1) Master selection, BR: Fpclk/256 (due to C27 on the board, SPI_CLK is
set to the minimum) CPOL and CPHA at zero (rising first edge) */
/* (2) Slave select output enabled, RXNE IT, 8-bit Rx fifo */
/* (3) Enable SPI1 */
SPI1->CR1 = SPI_CR1_MSTR | SPI_CR1_BR; /* (1) */
SPI1->CR2 = SPI_CR2_SSOE | SPI_CR2_RXNEIE | SPI_CR2_FRXTH
| SPI_CR2_DS_2 | SPI_CR2_DS_1 | SPI_CR2_DS_0; /* (2) */
SPI1->CR1 |= SPI_CR1_SPE; /* (3) */
A.17.3 SPI full duplex communication code example
if ((SPI1->SR & SPI_SR_TXE) == SPI_SR_TXE) /* Test Tx empty */
{
/* Will inititiate 8-bit transmission if TXE */
*(uint8_t *)&(SPI1->DR) = SPI1_DATA;
}
Сб дек 12, 2015 23:31:14
scorpi_0n писал(а):A.17.3 SPI full duplex communication code example
if ((SPI1->SR & SPI_SR_TXE) == SPI_SR_TXE) /* Test Tx empty */
{
/* Will inititiate 8-bit transmission if TXE */
*(uint8_t *)&(SPI1->DR) = SPI1_DATA;
}
scorpi_0n писал(а):Отправляем байт в DR ждём TXE=1 ждём BSY=0. Поднимаем CS если нужно. Это передача одного байта.
В RM же всё разрисовано.
Сб дек 12, 2015 23:58:31
Andrew Martin писал(а):RM я и без вас читал.
Ваша указка на сниппеты (где рабочий, но ПОЛНОДУПЛЕКСНЫЙ пример) бесполезна
а сопоставление
лишний раз доказывает мою правоту - сначала проверка флагов, затем передача.
Ваш алгоритм не соответствует мануалу и как вы голословно утверждаете, он работает, мой - соответствует, но не работает как положено. Алгоритм досикуса не соответствует мануалу, но работает как положено.
Из чего можно сделать вывод - вы теоретик
Вс дек 13, 2015 20:44:08
scorpi_0n писал(а):И не просто теоретик а хороший теоретик. А ещё я этим очень горжусь!
Вс дек 13, 2015 21:02:33
Andrew Martin писал(а):Всё с вами понятно - своих наработок кода для F030 у вас нет
Пн дек 14, 2015 08:10:15
scorpi_0n писал(а):Это уже не столь существенно. Все уже знают что у вас никакие наработки не работают. Даже из RM.
Пн дек 14, 2015 09:13:35
Пн дек 14, 2015 10:52:50
Пн дек 14, 2015 11:00:33
Pnjom-Penb писал(а):Только он Вам в ней не поможет, его задача - не в этом.
Пн дек 14, 2015 11:18:32
Пн дек 14, 2015 11:23:44