Змінюй хід війни! Допомагай ЗСУ!

Программирование ARM. Eclipse, Keil,IAR,CooCox - всё сюда.

🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #61
Схоже на 3-й варіант від Reset-а.
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #62
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #63
На смену f1 семейству предназначено f0. Для него генератор есть.
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #64
Схоже на 3-й варіант від Reset-а.

Вряд ли, он пишет "с самого начала была". Вряд ли он успел захренячить стек в начале. Компилятор, обычно, этим сам по себе страдать не склонен, он PUSH и POP юзает вполне себе грамотно, хотя и с перебором (я на асме гораздо меньше его использую, компилятор же тулит его куда надо и не надо - тоже).

Скорее всего, проблемы с оптимизацией, или какая-то грубая ошибка закралась, которую автор не видит. Так бывает в сях. Область видимости, к примеру, может злые шутки разыгрывать.



На смену f1 семейству предназначено f0. Для него генератор есть.
Позырил - не впечатлило. Уменьшение функционала, что правда, и падение цены. Меня f103 устраивает более всех.



Перепроверил по ценам - если количество не десятки тысяч, то разницы в цене практически нет, а разница в тактовой - уже есть. F103 пока остается оптимумом для замены атмег и пичков16-18.



Тааагс... ."пЪядайзяем йазгавог"(С)Кролик

Я чёт не врубаюсь как в шайтан-кристале происходит логика взаимодействия АЦП и ДМА.
Кто может человеческим езыгом объяснить?

В моих иллюзиях размышлениях мне казалось, что DMA должно сам валить данные в массив по указанному адресу, при этом по достижении указанной длины - выставлять прерывание.
Я правильно понял? Или как-то ещё?
Ибо АЦП бит, что конвершен комплите выставил, но массив девственно чист.
 
Останнє редагування:
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #65
В
Я чёт не врубаюсь как в шайтан-кристале происходит логика взаимодействия АЦП и ДМА.
Кто может человеческим езыгом объяснить?

В моих иллюзиях размышлениях мне казалось, что DMA должно сам валить данные в массив по указанному адресу, при этом по достижении указанной длины - выставлять прерывание.
Я правильно понял? Или как-то ещё?
Ибо АЦП бит, что конвершен комплите выставил, но массив девственно чист.

Пробовал USART на f207 через dma гонять. Полет нормальный. В конце трансфера происходит прерывания типа трансфер комплит.
Наверное в регистрах(очередности) чего-то не так. Или стандартные грабли с RCC_???
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #66
Пробовал USART на f207 через dma гонять. Полет нормальный. В конце трансфера происходит прерывания типа трансфер комплит.
Наверное в регистрах(очередности) чего-то не так. Или стандартные грабли с RCC_???

Пока не долез. Другой фиговиной занимаюсь, скоро вернусь к теме.

АЦП пиляет в цикле (меряет какую-то фигню, если честно), грабли с HSI были в АЦП, как раз, он был не тактирован, но это я высмотрел и включил. А вот RCC вроде я ни где включить не забыл.
Неудобно делать 5 работ одновременно :)
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #67
Ты STPeriph заюзал наконец или все с регистрами дрочишся?

Не правда. Или мы о разном. если через
XXX_InitStructure.xxxx - код получается гораздо больше. Библиотечные функции содержат больше проверок и странных телодвижений.
Углублялся я в них давно, може чего-то нового намудрили. Есть проверки параметров, но все на этапе компиляции проходит.
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #68
Ибо АЦП бит, что конвершен комплите выставил, но массив девственно чист.
Хочеш сказати, що не виставив, а виставився? Бо його лише читати можна. І ніколи не прочитаєш, якщо DMA його скидає, копіюючи дані.
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #69
Хочеш сказати, що не виставив, а виставився? Бо його лише читати можна. І ніколи не прочитаєш, якщо DMA його скидає, копіюючи дані.

Я й кажу АЦП виставив.

Да, преобразование идёт, Бит выставляется, данные в ->DR меняются, DMA не включено, получается.

Ты STPeriph заюзал наконец или все с регистрами дрочишся?
Да причем тут perif :D
Какая разница как писать, если ошибка в непонимании мной принципа как его правильно включать? Оно и через периф не работало у меня. Просто времени нет разобраться.
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #70
Да причем тут perif
Какая разница как писать, если ошибка в непонимании мной принципа как его правильно включать? Оно и через периф не работало у меня. Просто времени нет разобраться.
Потому, что в тех регистрах голову можно сломать, и вероятность ошибки только из-за какой-то мелочи огромна. perif же по умолчанию настроит в любом случае, ты уже детали добавляешь.
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #71
Потому, что в тех регистрах голову можно сломать, и вероятность ошибки только из-за какой-то мелочи огромна. perif же по умолчанию настроит в любом случае, ты уже детали добавляешь.

Голову в регистрах сломать можно не более, чем в perif. Чем они так критично отличаются, если ты название битов, которое я пишу в маску, и тыкаю в регистр - всё равно пишешь, но тыкаешь в структуру, а потом вызываешь функцию, которая распихивает поля структуры по регистрам?
Не могу понять логики использования перифа. Жрёт как не в себя память и делает то же самое.
Там из полезного есть всего 2 файла, которые следует подключать. Остальное - для совсем начинающих, чтобы абстрагироваться от ядра. Хотя, от него совершенно вредно - абстрагироваться.
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #72
Я спершу пишу, аби працювало. А коли працює, тоді вже оптимізую за часом. Звісно, якщо є час і натхнення.
Можеш показати, що ти там написав?
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #73
Голову в регистрах сломать можно не более, чем в perif. Чем они так критично отличаются, если ты название битов, которое я пишу в маску, и тыкаю в регистр - всё равно пишешь, но тыкаешь в структуру, а потом вызываешь функцию, которая распихивает поля структуры по регистрам?
Не могу понять логики использования перифа. Жрёт как не в себя память и делает то же самое.
Там из полезного есть всего 2 файла, которые следует подключать. Остальное - для совсем начинающих, чтобы абстрагироваться от ядра. Хотя, от него совершенно вредно - абстрагироваться.

Потому, что в структуру тыкаются не названия битов, названия которых как-то отдаленно теоретически схожи с их функциями, а полноценно понятные названия. К тому же в большинстве случаев "решают" несколько бит, что увеличивает шанс ошибки.
Mode = out_2Mhz и установка минимум 4 бит вручную. И где будет ошибка?
К тому же за битами надо лазить в мануал. При чем постоянно так как запомнить все биты всех даже регулярно используемых регистров ввиду их большого количества невозможно. Я не помню, когда я последний раз лазил в мануал за этим. Всегда лажу только поглядеть описание периферии и режимы работы, иде потом поля структуры и возможные варианты их на выбор предлагает.

Хотя нет, я помню зачем я в мануал лазил последний раз. Да и вообще бывает лажу иногда. Это регистры данных периферии для ДМА. Чтото СТ тут прохалявили.

Да и вообще, говорить про медленность такой настройки в угоду потере удобства в 2014 году как-то фу-фу-фу. Возьми проц быстрее.
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #74
Я спершу пишу, аби працювало. А коли працює, тоді вже оптимізую за часом. Звісно, якщо є час і натхнення.
Можеш показати, що ти там написав?

щас нет - я на работе и другим занимаюсь.
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #75
Ты STPeriph заюзал наконец или все с регистрами дрочишся?

Справедливости ради нужно отметить что писанина под стм32 в стиле как писалось все для авр-а (напрямую по регистрам) это путь вникуда. Как только начинаешь юзать что то стороннее типа оси, стека все все равно приходиться переписывать под драйвер. Плюс как только возможна миграция от проекта к проекту на другое семейство то же самое - с библой меньше возни.
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #76
Сенк, Кеп:клас:
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #77
Справедливости ради нужно отметить что писанина под стм32 в стиле как писалось все для авр-а (напрямую по регистрам) это путь вникуда. Как только начинаешь юзать что то стороннее типа оси, стека все все равно приходиться переписывать под драйвер. Плюс как только возможна миграция от проекта к проекту на другое семейство то же самое - с библой меньше возни.

У всякого решения есть свои плюсы и минусы. Единственное, что радует в либах - там описаны все семейства и переход равен смене дефайна.
Только есть одно "но" - у STM все одночисленные по пинам корпуса - совместимы по пинам. Вот такая вот хрень... даже переразводить не придется. Да, регистры тоже одинаковые внутри семейства.
Такшо - смотря что требуется достич. Я не имею склонности менять камни как перчатки, я сначала их выбираю, а потом массово использую. Не вижу великого смысла в глубинной кроссплатформизации - библиотечной достаточно. Труднее всего переносить именно обширные программные решения, по этому их локализуют в либы. Переносить сетап при старте? Танунах - там делать нечего, а экономия памяти существенная.
(за кадром слышен звоночек сработавшей кассы и голос "продано!")
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #78
Вопрос.
Сколько занимает времени собственно DMA: запись в ОЗУ с инкрементом адреса?
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #79
Mode = out_2Mhz и установка минимум 4 бит вручную. И где будет ошибка?
где-нибудь в той самой stdperflib писанной индусами, но вот чтоб ее найти придется хорошо знать и биты портов и константы либы

Справедливости ради нужно отметить что писанина под стм32 в стиле как писалось все для авр-а (напрямую по регистрам) это путь вникуда. Как только начинаешь юзать что то стороннее типа оси, стека все все равно приходиться переписывать под драйвер. Плюс как только возможна миграция от проекта к проекту на другое семейство то же самое - с библой меньше возни.

это можно принимать как аргумент, шо если уж и пользовать какую-то либу, то, как вариант, хал от какой-нить оськи, которых щас тоже полно.
 
  • 🟠 23:37 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #80
где-нибудь в той самой stdperflib писанной индусами, но вот чтоб ее найти придется хорошо знать и биты портов и константы либы
Може тоді взагалі від високорівневих мов відмовитись? А то хз хто той компілятор писав.

Дрочили в універі чорну валізку, де з шостнацятирічної клави машиний код вбивали - акурат пів лаби на сраний калькулятор.
 
Останнє редагування:
Назад
Зверху Знизу