Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Re: Em::blocks IDE (EmBitz)

Пт дек 11, 2015 09:56:53

scorpi_0n писал(а):Ой! А что это?
Ну у вас же всё наперекосяк.
Отправляем байт в DR ждём TXE=1 ждём BSY=0. Поднимаем CS если нужно. Это передача одного байта.
Отправляем байт в DR ждём TXE=1 отправляем следующий байт ждём TXE=1 отправляем следующий байт и т. д. ждём TXE=1 ждём BSY=0. Поднимаем CS если нужно. Это передача нескольких байт.
В RM же всё разрисовано. Купите логический анализатор и такие вопросы не будут возникать.


Ну-ну, анализатор в ЛНР :))) :cry:

А в чем собственно разница?
При первой передаче TXE=1 и BSY=0, поэтому алгоритм сразу перейдёт к отправлению байта. При повторном вызове функции, если передача не закончилась, то будет ждать BSY=0 и TXE=1. Если же передача закончилась, то сразу переходим к отсылке следующего байта.
Те же яйца, только в профиль :)

Re: Em::blocks IDE (EmBitz)

Пт дек 11, 2015 11:22:25

Andrew Martin писал(а):Ну-ну, анализатор в ЛНР :))) :cry:

Понимаю. Но STM32 вы же где-то брали? Они же тоже на грядках не растут.
Протэус СТМ32 не поддерживает. Симулятор отсутствует. Без анализатора изучение СТМ32 это очень надолго.
А в чем собственно разница?

Что у всех работает а у вас нет.
Те же яйца, только в профиль :)

А откуда вам знать? Не работает. А почему? Без анализатора вы причину сами найти не можете и визуально описать её для других не в состоянии.

Re: Em::blocks IDE (EmBitz)

Пт дек 11, 2015 12:51:22

scorpi_0n писал(а):Понимаю. Но STM32 вы же где-то брали? Они же тоже на грядках не растут.


Да нихрена вы не понимаете. :evil:
Это запас 2-х летней давности, привезенный из Харькова.

scorpi_0n писал(а): Без анализатора изучение СТМ32 это очень надолго.


А я никуда не спешу. МК для меня хобби, а не работа.
Уже сделал вольтметр-амперметр на STM32F0F4P6, имея только переходник на уарт, и могу точно сказать что АЦП и таймеры общего назначения в данном МК соответствуют описанию в RM. А SPI увы не соответствует :(

scorpi_0n писал(а): Что у всех работает а у вас нет.


Очередная демагогия.
Я видел здесь только одного человека, который реально запускал SPI на STM32F030 (это dosikus), остальные только теоретизировали на тему как ДОЛЖЕН работать SPI (как написано в RM я и сам знаю), и не смогли дать НИ ОДНОГО толкового примера.
Потому что баловаться с SPL - это одно дело, а знать тонкости периферии в конкретной линейке - другое.

Re: Em::blocks IDE (EmBitz)

Пт дек 11, 2015 14:47:56

Andrew Martin писал(а):Я видел здесь только одного человека, который реально запускал SPI на STM32F030 (это dosikus), остальные только теоретизировали на тему как ДОЛЖЕН работать SPI (как написано в RM я и сам знаю), и не смогли дать НИ ОДНОГО толкового примера.
Потому что баловаться с SPL - это одно дело, а знать тонкости периферии в конкретной линейке - другое.

Вы это серьёзно? Или как? До 030 были ещё 050 и 051. С них то и начиналась собственно линейка F0XX. А также были F3ХХ. Не говоря о нынешних 038 042 048 071 072 091 и пр.
Так вот. Скажу вам по секрету. У них всех SPI абсолютно одинаков. И ничем SPI 030-го не отличается от остальных. Ничем. Сможете запомнить?
У меня на столе сейчас прикручена STM32F050 (по новому - STM32F031) и всё работает. Что 8 бит что 16 что 9. Все биты отрабатываются правильно. SPL не пользуюсь. Поэтому мне просто не понятно что вы там не смогли. Тем более что вы даже не удосужились уточнить что именно у вас не работает. Нет клока нет данных лишние данные данные обрываются 16 бит вместо 8 и т.д.

Re: Em::blocks IDE (EmBitz)

Пт дек 11, 2015 16:40:17

Andrew Martin писал(а):Очередная демагогия.
Я видел здесь только одного человека, который реально запускал SPI на STM32F030 (это dosikus), остальные только теоретизировали на тему как ДОЛЖЕН работать SPI (как написано в RM я и сам знаю), и не смогли дать НИ ОДНОГО толкового примера.
Потому что баловаться с SPL - это одно дело, а знать тонкости периферии в конкретной линейке - другое.

Хоть демагогия, хоть размагогия. Я тут намедни взялся покурить датчик давления, т.ч. на столе макетка с этим самым STM32F030K6 оказалась как раз кстати. Сейчас специально подоткнул индикатор на двух HC595 через SPI. Работает без вопросов. В чем нечеловеческий подвиг запуска SPI на STM32, никак в толк взять не могу.

Изображение

Изображение
Вложения
IMG_4722.JPG
(136.21 KiB) Скачиваний: 1528
IMG_4724.JPG
(117.54 KiB) Скачиваний: 1548

Re: Em::blocks IDE (EmBitz)

Пт дек 11, 2015 19:08:45

scorpi_0n писал(а):У меня на столе сейчас прикручена STM32F050 (по новому - STM32F031) и всё работает. Что 8 бит что 16 что 9. Все биты отрабатываются правильно. SPL не пользуюсь.


Ещё скажите что на 051 и на 030 один и тот же RM :)))

И опять тонны пустопорожнего трёпа. Где код? Инициализацию и передачу в студию.

Re: Em::blocks IDE (EmBitz)

Пт дек 11, 2015 19:12:36

a5021 писал(а): Я тут намедни взялся покурить датчик давления, т.ч. на столе макетка с этим самым STM32F030K6 оказалась как раз кстати. Сейчас специально подоткнул индикатор на двух HC595 через SPI. Работает без вопросов. В чем нечеловеческий подвиг запуска SPI на STM32, никак в толк взять не могу.


Ну и на кой нужна ваша фотосессия? Пайкой и макетками хвастаетесь? :)))
Код предъявите.

Re: Em::blocks IDE (EmBitz)

Пт дек 11, 2015 19:23:32

Забирать здесь.
http://www.st.com/web/en/catalog/tools/ ... ppetsf0-pr

Re: Em::blocks IDE (EmBitz)

Пт дек 11, 2015 19:33:06

Andrew Martin писал(а):Ну и на кой нужна ваша фотосессия? Пайкой и макетками хвастаетесь?

Этим, оказывается, можно хвастаться? Буду знать. А так, что было на столе, то и заснял. Иллюстрация была на тему, что запустить передачу по SPI никаких мегаскиллов не требует.

Код предъявите.

Да какой там, нафиг, код вам нужен? Это код что-ли? Это два оператора присвоения:

Код:
  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;


Все! Теперь, если что-то будет положено в DR, то оно немедленно вылетит в линию.

Re: Em::blocks IDE (EmBitz)

Сб дек 12, 2015 11:01:01

Andrew Martin писал(а):Ещё скажите что на 051 и на 030 один и тот же RM :)))

Смех без причины... А так вам было бы полезно заглянуть и сравнить эти два RM. Для общего развития и понимания сущности.
Где код? Инициализацию и передачу в студию.

Да хоть в том же RM0091 под 051.
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;
}

Re: Em::blocks IDE (EmBitz)

Сб дек 12, 2015 23:31:14

RM я и без вас читал.
Ваша указка на сниппеты (где рабочий, но ПОЛНОДУПЛЕКСНЫЙ пример) бесполезна, а сопоставление вот этого

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 же всё разрисовано.


лишний раз доказывает мою правоту - сначала проверка флагов, затем передача.

Ваш алгоритм не соответствует мануалу и как вы голословно утверждаете, он работает, мой - соответствует, но не работает как положено. Алгоритм досикуса не соответствует мануалу, но работает как положено.
Из чего можно сделать вывод - вы теоретик :)

Re: Em::blocks IDE (EmBitz)

Сб дек 12, 2015 23:58:31

Andrew Martin писал(а):RM я и без вас читал.

По вашим постам не видно.
Ваша указка на сниппеты (где рабочий, но ПОЛНОДУПЛЕКСНЫЙ пример) бесполезна

Это я уже понял. Вам хоть что всё бесполезно. У вас своё видение суслика даже если его там нет.
а сопоставление

лишний раз доказывает мою правоту - сначала проверка флагов, затем передача.

Вашей правотой там и не пахнет. Но вы можете неистово продолжать это доказывать. Главное не прерывать удовольствие от этого. Ведь все знают что только товарищ прапорщик шагает в ногу.
Ваш алгоритм не соответствует мануалу и как вы голословно утверждаете, он работает, мой - соответствует, но не работает как положено. Алгоритм досикуса не соответствует мануалу, но работает как положено.

Пока здесь никто кроме вас ничего голословно не утверждал. Только вы голословно утверждаете что что-то там не написано и что-то там не работает не указывая что именно. Вот когда разберётесь с тремя соснами флагами тогда может быть и у вас всё заработает как и у остальных.
Из чего можно сделать вывод - вы теоретик :)

И не просто теоретик а хороший теоретик. А ещё я этим очень горжусь! :wink:

Re: Em::blocks IDE (EmBitz)

Вс дек 13, 2015 20:44:08

scorpi_0n писал(а):И не просто теоретик а хороший теоретик. А ещё я этим очень горжусь! :wink:


Всё с вами понятно - своих наработок кода для F030 у вас нет, раз копипастите RM.
Так бы и сразу сказали, а то получился долгий разговор ни о чём :)))

Re: Em::blocks IDE (EmBitz)

Вс дек 13, 2015 21:02:33

Andrew Martin писал(а):Всё с вами понятно - своих наработок кода для F030 у вас нет

Это уже не столь существенно. Все уже знают что у вас никакие наработки не работают. Даже из RM.
Но у вас ещё есть шанс. Типа последний довод королей. Пожалуйтесь на официальном сайте СТМ на их горбатые RM и SPI. Если они не онемеют от этого то обязательно вам что-то ответят.

Re: Em::blocks IDE (EmBitz)

Пн дек 14, 2015 08:10:15

scorpi_0n писал(а):Это уже не столь существенно. Все уже знают что у вас никакие наработки не работают. Даже из RM.


Почему же никакие не работают? Наработки dosikus у меня как раз работают как часы, в отличие от кода из RM.
О том и речь, что RM и сниппеты многое не договаривают, а именно особенности работы мастера в однонаправленном режиме.

Re: Em::blocks IDE (EmBitz)

Пн дек 14, 2015 09:13:35

А не должны и не обязаны. Разобраться во всём этом и есть ваша задача.

Re: Em::blocks IDE (EmBitz)

Пн дек 14, 2015 10:52:50

Andrew Martin: Только он Вам в ней не поможет, его задача - не в этом. :))) Гляньте сюда и избавьтесь от иллюзий.

Re: Em::blocks IDE (EmBitz)

Пн дек 14, 2015 11:00:33

Вместо чтения RM предлагаете увеличить стек? :)))
И в скольких случаях сие помогает?
Pnjom-Penb писал(а):Только он Вам в ней не поможет, его задача - не в этом. :)))

Вы правы. Подсказать могу а думать за кого-то - не моя задача.

Re: Em::blocks IDE (EmBitz)

Пн дек 14, 2015 11:18:32

Вы абсолютно не в курсе того, что я предложил. В чем нетрудно убедиться, пройдя по ссылке.
И похоже, дело отнюдь не в невнимательности. :dont_know:

Re: Em::blocks IDE (EmBitz)

Пн дек 14, 2015 11:23:44

А в вашем неумелом троллинге. Это я понял. Если вы в теме то и объясните Andrew Martin в чём его ошибка. Всё остальное сказанное вами будет расцениваться как пустой трёп.
Ответить