STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Друг Кота
Сообщения: 6457
Зарегистрирован: Пт сен 13, 2013 13:11:31

Сообщение a5021 »

[uquote="VladislavS",url="/forum/viewtopic.php?p=3903857#p3903857"]Это не небоагоприятные случаи, а случаи, в которых оптимально другое решение.[/uquote]
Да лан. В прошлый раз вы заламывали руки, что это офигеть, какая жизненно-необходимая херь, а теперь вдруг "оптимально другое решение". Че, фарш обратно не залазит?
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Oxford",url="/forum/viewtopic.php?p=3903858#p3903858"]Дык код то не весь же. :tea:[/uquote]В том то и дело, что весь. WR=0 автоматически совместился выставлением data на шину.

[uquote="Oxford",url="/forum/viewtopic.php?p=3903858#p3903858"]Да и по флешу расход овер9000. Никогда С++ не будет лучше Си.[/uquote]Даже если повторить ещё 9000 раз, это не станет истиной.
Реклама
Опытный кот
Аватара пользователя
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск

Сообщение Oxford »

Нет там никакой автоматизации
Последний раз редактировалось Oxford Чт окт 08, 2020 22:23:42, всего редактировалось 1 раз.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

[uquote="Oxford",url="/forum/viewtopic.php?p=3903858#p3903858"]Дык код то не весь же. :tea:[/uquote]
Была маска 0xFF00'000 которая сбрасывала 8 старших бит данных, а чтобы одновременно сбросить WR(PB1), нужно взять маску 0xFF02'000. Все, сколько можно такие элементарные вещи объяснять...
Реклама
Эиком - электронные компоненты и радиодетали
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="a5021",url="/forum/viewtopic.php?p=3903862#p3903862"]Да лан. В прошлый раз вы заламывали руки, что это офигеть, какая жизненно-необходимая херь, а теперь вдруг "оптимально другое решение". Че, фарш обратно не залазит?[/uquote]Чё ты гонишь! Использовать BRR для записи данных в порт это твоя придурь. Я его в примерах для очистки бит использовал.
Реклама
Опытный кот
Аватара пользователя
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск

Сообщение Oxford »

Какие нахрен маски о чем вообще речь зачем это? если напрямую записывать данные можно в ODR
Последний раз редактировалось Oxford Пт окт 09, 2020 02:10:01, всего редактировалось 4 раза.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Контактная информация:
Реклама
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

[uquote="Oxford",url="/forum/viewtopic.php?p=3903872#p3903872"]Какие нахрен маски о чем вообще речь зачем это? если напрямую записывать данные можно в ODR[/uquote]
В ODR не запишешь 9 или 10 бит атомарно, в этом разница. Любое дерганье пином с того же порта в прерывании или другой задаче будет приводить к проблемам, причем труднообнаруживаемым, т.к. проявляться они могут очень не часто.
Последний раз редактировалось Reflector Чт окт 08, 2020 22:37:37, всего редактировалось 1 раз.
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Я угораю :))) С++ программист объясняет матёрому Си-ретрограду как писать в регистры. Так кто не понимает то алгоритмов и железа?
Опытный кот
Аватара пользователя
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск

Сообщение Oxford »

Да это бред уже выдуманный.
Последний раз редактировалось Oxford Пт окт 09, 2020 02:10:54, всего редактировалось 8 раз.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Контактная информация:
Друг Кота
Сообщения: 6457
Зарегистрирован: Пт сен 13, 2013 13:11:31

Сообщение a5021 »

[uquote="VladislavS",url="/forum/viewtopic.php?p=3903870#p3903870"]Использовать BRR для записи данных в порт это твоя придурь.[/uquote]
Закусывай. Я BRR вообще не использовал никогда и не собирался.

[uquote="VladislavS",url="/forum/viewtopic.php?p=3903876#p3903876"]С++ программист объясняет[/uquote]
Если ваши плюсы так хороши, какого их никто не использует? Где библиотеки под STM32 на плюсах от производителя?
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

[uquote="Oxford",url="/forum/viewtopic.php?p=3903878#p3903878"]Обьясняю почему с прерываниями не нужен атомарный доступ, а дело в том что программа однопоточная[/uquote]
Допустим PB очищен и в основной программе есть строка:

Код: Выделить всё

GPIOB->ODR |= (data << 8);
В момент когда в регистр было прочитано значение ODR вызывается прерывание устанавливающее младший бит PB в 1, но после возврата из прерывания в порт будет выведено старое значение, в котором младшая половина порта нулевая...
Опытный кот
Аватара пользователя
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск

Сообщение Oxford »

Reflector зачем эти фантазии?
Последний раз редактировалось Oxford Пт окт 09, 2020 02:11:11, всего редактировалось 7 раз.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Контактная информация:
Друг Кота
Сообщения: 6457
Зарегистрирован: Пт сен 13, 2013 13:11:31

Сообщение a5021 »

да ну нафиг в этом гумне ковыряться.
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="a5021",url="/forum/viewtopic.php?p=3903880#p3903880"]Я BRR вообще не использовал никогда и не собирался.[/uquote]Но зачем-то просишь, нет требуешь, сделать это мне там где в этом нет необходомости. Спасибо хоть в UART с помощьюю BRR не требуешь писать.

[uquote="a5021",url="/forum/viewtopic.php?p=3903880#p3903880"]Если ваши плюсы так хороши, какого их никто не использует?[/uquote]Так уж и никто? Точно всех опросили?

[uquote="a5021",url="/forum/viewtopic.php?p=3903880#p3903880"]Где библиотеки под STM32 на плюсах от производителя?[/uquote]Они на Си то нормально сделать не могут - вон какой вой пользователей стоит в том числе и от вас.
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

[uquote="Oxford",url="/forum/viewtopic.php?p=3903885#p3903885"]если в прерывании есть код дергающий PB1 это идиотизм и нужна синхронизация[/uquote]
А что не так? Хочу в прерывании светодиод тоглю, хочу семисегментники обновляю, а там и полтора десятка пинов может быть, но с кучей приоритетов прерываний могу себе позволить. Про RTOS вообще молчу, многие просто создают кучу задач тоглящих пины с последующей задержкой и потом смотрят ЛА насколько все равномерно работает, в таком случае идиотизмом будет добавление синхронизации для доступа к порту учитывая, что производитель специально добавил регистр для атомарного доступа.
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Reflector",url="/forum/viewtopic.php?p=3903891#p3903891"]А что не так?[/uquote]Алгоритмы сначала изучи! А то ишь чё удумал - светодиоды без теории тоглит. :cry:
Опытный кот
Аватара пользователя
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск

Сообщение Oxford »

[uquote="Reflector",url="/forum/viewtopic.php?p=3903891#p3903891"][uquote="Oxford",url="/forum/viewtopic.php?p=3903885#p3903885"]если в прерывании есть код дергающий PB1 это идиотизм и нужна синхронизация[/uquote]
А что не так? Хочу в прерывании светодиод тоглю, хочу семисегментники обновляю, а там и полтора десятка пинов может быть, но с кучей приоритетов прерываний могу себе позволить. Про RTOS вообще молчу, многие просто создают кучу задач тоглящих пины с последующей задержкой и потом смотрят ЛА насколько все равномерно работает, в таком случае идиотизмом будет добавление синхронизации для доступа к порту учитывая, что производитель специально добавил регистр для атомарного доступа.[/uquote]

Ну ты говорил про PB1 я и говорю зачем его дергать в прерывании?
Последний раз редактировалось Oxford Пт окт 09, 2020 02:11:32, всего редактировалось 5 раз.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Контактная информация:
Друг Кота
Сообщения: 6457
Зарегистрирован: Пт сен 13, 2013 13:11:31

Сообщение a5021 »

[uquote="VladislavS",url="/forum/viewtopic.php?p=3903889#p3903889"]Но зачем-то просишь, нет требуешь, сделать это мне там где в этом нет необходомости.[/uquote]
Ну что тебя носом натыкать, как сначала ты приплел BRR ни к селу, а потом театрально заламывая руки начал сочинять, что это у меня две мысли не пересекаются в контексте этого самого BRR? Обосрался, так обтекай молча. Чего голосишь?
[uquote="a5021",url="/forum/viewtopic.php?p=3903880#p3903880"]Где библиотеки под STM32 на плюсах от производителя?[/uquote]Они на Си то нормально сделать не могут - вон какой вой пользователей стоит в том числе и от вас.
Т.е. мысль о том, что на плюсах выйдет еще хуже, она, как бы подразумевается сама собой? Ок, принято.
Последний раз редактировалось a5021 Чт окт 08, 2020 23:54:07, всего редактировалось 1 раз.
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

[uquote="Oxford",url="/forum/viewtopic.php?p=3903899#p3903899"]

Код: Выделить всё

GPIOB->ODR = data & 0xFF00;
GPIOB->BSRR = GPIO_BSRR_BS_1; 
GPIOB->ODR = data << 8;
GPIOB->BSRR = GPIO_BSRR_BS_1;
[/uquote]
А теперь еще раз посмотри какие пины используются только для дисплея:

Код: Выделить всё

using lcd = Lcd<RM68140, LcdOrient::LandscapeRev, PB7, GpioB<0xFF00>, PB2, PB0, PB1, PB6, 0, 4, 0>;
Обнулив младшую половину PB ты не только записал 0 в WR, но также сбросил дисплей, ведь один из пинов - это RESET. А еще RD... Три оставшихся пина на PB вообще неизвестно как используются, но ничего хорошего от их очистки тоже ждать не стоит.
Опытный кот
Аватара пользователя
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск

Сообщение Oxford »

Я епу какие у тебя пины. Добавь если надо.
Последний раз редактировалось Oxford Пт окт 09, 2020 02:13:23, всего редактировалось 2 раза.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Контактная информация:
Ответить

Вернуться в «ARM»