MaltsevIgor11061983 0 12 декабря, 2020 Опубликовано 12 декабря, 2020 · Жалоба Добрый вечер,коллеги. Пришло (с опозданием) но все же пришло время применять в проекте отечественные МК 1986ВЕ1Т. Вот тут меня и ожидал сюрприз - настройка ARM после 8-ми битных контроллеров для меня кажется очень сложной в том смысле, что я не понимаю откуда в примерах пишутся те или иные команды. Конкретно, поясню на примере: Есть код (показан ниже) из примера. По функционалу -всё понятно, но где мне отыскать (прочитать) что есть вот такая команда RST_CLK_PCLKcmd (RST_CLK_PCLK_PORTC, ENABLE) или например вот такая PORT_StructInit. На 8-ми битные контролеры, даташит был единственным документом по которому можно было сразу начинать писать программу. Здесь же явно не так. В примерах описываются команды, которых нет в прямом виде в описании на контроллер 1986ВЕ1Т. Вопрос собственно вот в чем: Где взять полное описание таких команд на данный контроллер и назначение всех его регистров ? // Заводим структуру конфигурации вывода(-ов) порта GPIO PORT_InitTypeDef GPIOInitStruct; // Включаем тактирование порта C RST_CLK_PCLKcmd (RST_CLK_PCLK_PORTC, ENABLE); // Инициализируем структуру конфигурации вывода(-ов) порта значениями по умолчанию PORT_StructInit(&GPIOInitStruct); // Изменяем значения по умолчанию на необходимые нам настройки GPIOInitStruct.PORT_Pin = PORT_Pin_0; GPIOInitStruct.PORT_OE = PORT_OE_OUT; GPIOInitStruct.PORT_SPEED = PORT_SPEED_SLOW; GPIOInitStruct.PORT_MODE = PORT_MODE_DIGITAL; // Применяем заполненную нами структуру для PORTC. PORT_Init(MDR_PORTC, &GPIOInitStruct); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 12 декабря, 2020 Опубликовано 12 декабря, 2020 · Жалоба Сейчас практически все производители МК предоставляют под них SPL (Standart Peripheral Library). Это тупо набор исходников с уже реализованным базовым функционалом всей периферии в МК. Для быстрого старта удобная штука. Сам раньше пользовался. Сейчас - довольно редко, но бывает. В документации на МК Вы, естественно, описание этих всяких PORT_Init() не найдете - откуда им там быть? Для быстрого старта Вам достаточно разобраться с системой тактирования Вашего МК, особенностями запуска периферии. Но, судя по приведенному выше коду, там все +/- одинаково с теми же STM32. Так что можете брать примеры для STM-ок и проводить аналогии. Описание, скорее всего, Вы не найдете. Это ж Open Source, тем более внутри все функции обозваны довольно понятно. Весь API в заголовочных файлах. Хотите, например, GPIO настроить на выход - светодиодом моргать. Открываете *GPIO*.h - там прототипы функций и всякие структурки и удобные дефайны. После настройки тактирования в модуле RST_CLK смотрите "ага, есть PORT_Init(), аргументами принимает указатель на порт и какую-то структуру". Дальше лезете и смотрите, что за указатель такой (MDR_PORTC или подобные что наружу торчат), а структура должна быть типа PORT_InitTypeDef. Там же смотрите определение той структуры - в ней есть поля, которые отвечают за различные атрибуты самой лапки МК - тип (вход/выход) и т.д. Обычно все сразу будет более-менее работать. Но, конечно же, бывают и казусы - например, в SPL глюк. Или не учтена какая-то специфика и т.д. Тогда придется лезть и разбираться детальнее - возможно, даже, переписать самому на уровне регистров МК, читая лишь мануал на него. Но SPL тот самый - штука достаточно порой громоздкая и неоптимальная, местами даже очень. Но для быстрого старта вполне сгодится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 63 13 декабря, 2020 Опубликовано 13 декабря, 2020 · Жалоба 11 часов назад, MaltsevIgor11061983 сказал: На 8-ми битные контролеры, даташит был единственным документом по которому можно было сразу начинать писать программу. Здесь же явно не так. В примерах описываются команды, которых нет в прямом виде в описании на контроллер 1986ВЕ1Т. Есть два варианта - писать напрямую в регистры (как в 8-битках) или писать с помощью библиотеки. В любом случае стоит подтянуть знание Си и идти на форум https://forum.milandr.ru/ там все ссылки на библиотеки есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrBearManul 0 13 декабря, 2020 Опубликовано 13 декабря, 2020 · Жалоба 15 часов назад, MaltsevIgor11061983 сказал: Здесь же явно не так. Да, здесь несколько иначе. На ARM'ы нужно почитать и осмыслить довольно много документации, чтобы программировать их сознательно. Примерный перечень документации был собран тут уважаемым @haker_fox и чуть ниже дополнен остальными коллегами. 14 часов назад, Arlleex сказал: Но для быстрого старта вполне сгодится. Плюсую))) З.Ы. Довольно внятные примеры идут с компилятором IAR. Не знаю, если для отечественного. Но учитывая родство, подобрать подходящие не проблема. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 6 14 декабря, 2020 Опубликовано 14 декабря, 2020 · Жалоба У Миландра в одном архиве с SPL находится файл MDR32F9Qx_Standard_Peripherals_Library.chm Там все функции, структуры, константы и др. описаны на англ. языке Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 33 19 декабря, 2020 Опубликовано 19 декабря, 2020 · Жалоба 14.12.2020 в 11:38, Палыч сказал: и др. описаны на англ. языке Интересно, контроллер типа русский, а описание на вражеском)))))))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 19 декабря, 2020 Опубликовано 19 декабря, 2020 · Жалоба Мб doxygen русский не понимает Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zig 31 19 декабря, 2020 Опубликовано 19 декабря, 2020 · Жалоба 59 минут назад, mantech сказал: Интересно, контроллер типа русский, а описание на вражеском)))))))) Дак импортозамещение. А импортное все на англицком... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 63 19 декабря, 2020 Опубликовано 19 декабря, 2020 · Жалоба 1 час назад, mantech сказал: Интересно, контроллер типа русский, а описание на вражеском)))))))) А кто не хочет читать на вражеском, тот читает даташит и программирует в двоичных кодах. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrBearManul 0 19 декабря, 2020 Опубликовано 19 декабря, 2020 · Жалоба 1 час назад, mantech сказал: Интересно, контроллер типа русский, а описание на вражеском)))))))) Проблема исчезает как только перестаёшь делить мир на добрый и злой, на соратников и врагов Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexRayne 7 19 декабря, 2020 Опубликовано 19 декабря, 2020 · Жалоба Вобчето они делают какието переводы на русский, но в оригинале както понятнее. Наш канцелярит смысл вымывает. А на талантливых тех-писак наверно денег нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Darth Vader 0 20 декабря, 2020 Опубликовано 20 декабря, 2020 · Жалоба 11 часов назад, mantech сказал: контроллер типа русский, а описание на вражеском Врач, вроде, русский. И лекарство тоже. А рецепт выписывает на каком-то мёртвом языке. Кошмар. Куда катится мир. Правильно - это чтобы описание на китайский процессор/контроллер было только на китайском. На корейский - только на корейском. На японский - только на японском. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 33 20 декабря, 2020 Опубликовано 20 декабря, 2020 · Жалоба 2 часа назад, Darth Vader сказал: А рецепт выписывает на каком-то мёртвом языке. Про этих-то я вообще молчу, мало того, что на мертвом языке, да еще так напишут , как будто их специально учат писать, чтоб никто не понял,кроме подобного))) 11 часов назад, MrBearManul сказал: как только перестаёшь делить мир на добрый и злой Да вы утопист, я смотрю))) Всегда будут враги и союзники, и если уж решили делать что-то свое, так и описание нужно соотв. Почему-то китайцы сначала на своем напишут, а потом переводят на язык потенциального противника, на всякий случай))) 11 часов назад, AlexRayne сказал: Вобчето они делают какието переводы на русский, но в оригинале както понятнее. Вот и пусть переводят, так глядишь и сами поймут то, что сделали...Или скопировали на то пошло)) 13 часов назад, Zig сказал: А импортное все на англицком... Это не наш метод! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaltsevIgor11061983 0 20 декабря, 2020 Опубликовано 20 декабря, 2020 · Жалоба Спасибо, коллеги за ссылки и ответы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Darth Vader 0 20 декабря, 2020 Опубликовано 20 декабря, 2020 · Жалоба 1 час назад, MaltsevIgor11061983 сказал: Спасибо, коллеги за ссылки и ответы Читайте учебные материалы на сайте Центра обучения Миландра. И материалы техподдержки по программированию их 32-разрядных микроконтроллеров. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться