помощ лузерам в прогромировании МК PIC

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 25435
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

scorpi_0n писал(а):Та же любовь к Асму на СТМ ему уже никак не поможет.
На СТМ я пишу на Си. И никого не призываю писать на АСМе.
Да, дсПИКи и ПИК24-ые имеют удачную архитектуру ДЛЯ МОИХ (сигнальных) приложений. Но это если писать на АСМе или смеси Си и АСМа. Последнее ничего не дает в плане удобств, а лишь усложняет задачу.
Только в каком месте тут троллинг? Как есть, так и написал.
А младшие ПИКи настолько просты структурно, что никакой особой разницы в смысле удобств между Си и АСМ не ощущается, зато ресурсы Си пожирает заметно быстрее. И потому АСМ позволяет экономить на себестоимости конечного изделия. Правда можно на Си писать так, что на выходе будет примерно тоже, что и на АСМе. Но тогда на Си код будет совершенно нечитаемый и применение Си теряет всякий смысл.
Переносимость проектов меня не интересует. Ибо характер задач исключает как саму необходимость смены платформ, так и не дает ничего в плане трудоемкости этого переноса. Увы.
Реклама
OKF
Это не хвост, это антенна
Сообщения: 1413
Зарегистрирован: Вт июн 07, 2011 08:03:18

Сообщение OKF »

BOB51 писал(а): Кстати... Тема создана любителем (а не профессиональным разработчиком ПО) и в основном для любителей.
:wink:
ОК. Звиняйте. Вот так вот, слово за слово и...))
Последний раз редактировалось OKF Ср ноя 18, 2015 12:47:32, всего редактировалось 1 раз.
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Сообщение scorpi_0n »

КРАМ писал(а): Переносимость проектов меня не интересует. Ибо характер задач исключает как саму необходимость смены платформ, так и не дает ничего в плане трудоемкости этого переноса. Увы.
Спасибо. Что и хотелось услышать. То есть на асме всё время приходится писать всё заново. Потому что даже асм ПИК16 отличается от асм ПИК18 и прямой перенос невозможен.
Вот свежее от микрочип что лучше
http://www.microchip.su/showthread.php?t=17393
Друг Кота
Аватара пользователя
Сообщения: 15615
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Глубокое заблуждение - ассемблер (в частности используемый в МПлабе) предусматривает наличие подключаемых файлов и библиотек - но в своем формате и правилах.
8)
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Аватара пользователя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Сообщение scorpi_0n »

Ну тогда расскажите нам как подключить библиотеку на асме под ПИК18 к ПИК16.
Реклама
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Сообщение otest »

Вот развели бодягу. :kill: :kill: :kill:
Сколько уже тем про это ?
Кому поп , а кому поподья.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 25435
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

scorpi_0n писал(а):
КРАМ писал(а): Переносимость проектов меня не интересует. Ибо характер задач исключает как саму необходимость смены платформ, так и не дает ничего в плане трудоемкости этого переноса. Увы.
Спасибо. Что и хотелось услышать. То есть на асме всё время приходится писать всё заново. Потому что даже асм ПИК16 отличается от асм ПИК18 и прямой перенос невозможен.
За 7 лет общения с Микрочипом у меня написание проекта на АСМе сводится к набрасыванию в проект ГОТОВЫХ МОДУЛЕЙ. То есть тех же библиотек, только своих.
И на всех семействах есть уже наработанные давным давно решения. тем более, что 10-16-ые достаточно легко масштабируются в 18-ые.
зато я прекрасно представляю себе взаимодействие моего кода как с общим алгоритмом, так и с периферией.
А что касается переносимости, то что можно перенести из 10ф322, если там все реализуется АППАРАТНО, причем периферия ОЧЕНЬ специфическая.
Что можно перенести из дспик33, если у него очень специфический дсп модуль? Что можно перенести из 16-разрядных пиков, если модуль АЦП там с 4 УВХ и на них построен весь алгоритм?
Вымогатель припоя
Аватара пользователя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Сообщение scorpi_0n »

То есть новичку без собственных наработок на асме и делать нечего. Хоть где. Это очень важный момент.
А взаимодействие кода с алгоритмом и периферией вообще никак не зависит от Асма. На Асме можно написать ешё хуже чем на Си. У новичка быстрее так и получится. Здесь больше имеют значение опыт и знание даташита чего у новичка нет изначально.
Друг Кота
Аватара пользователя
Сообщения: 15615
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Ассемблер - язык, привязанный к железу и схемотехнике. Знание документации на изделие и работы всей схемы обязательно ( как и знание описания компилятора).
Си больше абстракций допускает - удобство работы со сложными системами больших программ по обслуживанию к примеру интернет-приложений или хорошей графики...
:roll:
Друг Кота
Аватара пользователя
Сообщения: 25435
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

scorpi_0n писал(а): А взаимодействие кода с алгоритмом и периферией вообще никак не зависит от Асма.
Еще как зависит.
Новички на Си пишут с помощью библиотек. И при этом совсем не пытаются работать с ОСРВ. А это означает, что даже простейшие функции интерфейсов НИКАК НЕ СТЫКУЮТ с диаграммой работы МК. То есть пишут код так, словно это не МК, а работающий поверх винды или линукса API.
Результат не замедлит проявиться.
Начинаются поиски супер-пупер мегагерцовых МК под задачи "управления кнопками"...
Вымогатель припоя
Аватара пользователя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Сообщение scorpi_0n »

На то они и новички. На асме они бы вообще ещё долго чего не написали. И можно подумать что для ПИК12 или 16 есть куча ОСРВ. И можно подумать что все ОСРВ на асме. А Си для МК настолько низкоуровневые что их можно считать высокоуровневым Асмом. Да и никто не заставляет юзать готовые библиотеки можно своё написать а можно и чужое скопипастить. Можно и кусок асма вставить если уж совсем тяжело. В отличие от Асма на Си выбор есть всегда.
Друг Кота
Аватара пользователя
Сообщения: 25435
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

scorpi_0n писал(а):можно подумать что для ПИК12 или 16 есть куча ОСРВ. И можно подумать что все ОСРВ на асме. А Си для МК настолько низкоуровневые что их можно считать высокоуровневым Асмом.
Я ничего не говорил про ОСРВ на АСМе и про то, что на младших ПИКах большой выбор ОСРВ.
Речь шла о том, что новички предпочитают Си ассемблеру именно из-за наличия библиотек. То есть из-за неумения и НЕЖЕЛАНИЯ разбираться с нюансами алгоритмов. Такие новички приходят из увлечения программированием на ПК. Они в радиотехнике ни бельмес не понимают и понимать не хотят. Полагают, что собрав "домино" из ардуины и шилдов к ней, а также собрав из программных кубиков библиотек к этим шилдам какое то программное убожество можно заставить летать "квадракоптер". И "квадракоптер" действительно летает. Потому что все эти библиотеки были заточены под такой "квадракоптер". Но ничего поверх этого уже написать невозможно, потому что функционирующий таким образом код не оставил никаких просветов в программе и все что новичок пытается туда добавить вызывает развал работы.
Да, стандартные интерфейсы в стандартном взаимодействии легко пишутся с помощью библиотек. Но как только речь идет о схемотехнических приложениях для МК, так применение Си не только не упрощает кодирование, но и все запутывает.
У меня примеров тому - несть числа каждый день в собственном коллективе на работе.
:(
Вымогатель припоя
Аватара пользователя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Сообщение scorpi_0n »

Идиотизм стиля на МК как на ПК мы не рассматриваем. Это такая же крайность как и асм. Только противоположная. А истина всегда посредине и это Си. Не будете вы при здравом уме писать под USB на асме. Да и не только USB.
Друг Кота
Аватара пользователя
Сообщения: 25435
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Про стеки протоколов я ранее уже писал. Естественно, что изобретать велосипед нет никакого смысла.
Но на младших ПИКах никто особенно и не реализует такие интерфейсы. Уж новички - точно.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 350
Зарегистрирован: Пт сен 10, 2010 20:48:01
Откуда: Минск

Сообщение wss60 »

Здравствуйте! Решил изучить программирование контроллеров PIC16.
Вопрос: если произойдет одно прерывание, то остальные прерывания будут игнорироваться, пока не закончится обработка первого прерывания?
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

Не совсем так.
У PIC16 один уровень приоритета прерываний.
Если во время работы подпрограммы обработки прерываний будет получено ещё какое-то прерывание - после RETFIE вы ещё раз попадёте в подпрограмму обработки прерываний.
Более того, то что вы разрешаете некое прерывание - это ТОЛЬКО вы разрешаете по этому событию "отправить вас на адрес прерывания" (org 0004h).
Флаг прерывания от работающей периферии (к примеру таймера) может быть выставлен даже, если вы не разрешали от него прерывание.
Поэтому: при входе в подпрограмму обработки прерываний вы должны проверить "кто вас туда вызвал" и не забыть сбросить флаг прерывания этой "периферии".
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 350
Зарегистрирован: Пт сен 10, 2010 20:48:01
Откуда: Минск

Сообщение wss60 »

Значит в pic16 только одно прерывание, а дальше опрос всех флагов…
Ясно. Спасибо!
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 378
Зарегистрирован: Сб сен 19, 2009 07:02:19

Сообщение shindax »

Albert_V писал(а):... и не забыть сбросить флаг прерывания этой "периферии".
А так-же учесть, что не все флаги прерываний сбрасываются одинаково. :)
Друг Кота
Аватара пользователя
Сообщения: 25435
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

wss60 писал(а):Здравствуйте! Решил изучить программирование контроллеров PIC16.
Вопрос: если произойдет одно прерывание, то остальные прерывания будут игнорироваться, пока не закончится обработка первого прерывания?
Если произойдет одно прерывание, то остальные будут ОТЛОЖЕНЫ до исполнения первого, потому что при переходе по вектору 4 АВТОМАТИЧЕСКИ запрещаются все прерывания (гасится флаг глобального разрешения прерываний). Разрешаются они лишь при возврате из прерывания командой retfie. И если за время исполнения первого прерывания появились новые разрешенные (взведены флаги и присутствуют локальные разрешения), то немедленно последует новый вход в обработчик по адресу 4. И так будет происходить до тех пор, пока взведен хоть один флаг разрешенного прерывания.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 350
Зарегистрирован: Пт сен 10, 2010 20:48:01
Откуда: Минск

Сообщение wss60 »

Просто мне нужно было в момент изменения уровня по входу INT немедленно перепрыгнуть в подпрограмму обработки по входу INT. А в pic16 как я понял это не возможно, если в этот момент выполняется подпрограмма по прерыванию, например от таймера.
Ответить

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