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

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

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

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

scorpi_0n писал(а):Та же любовь к Асму на СТМ ему уже никак не поможет.

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

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

Сообщение OKF »

BOB51 писал(а):Кстати... Тема создана любителем (а не профессиональным разработчиком ПО) и в основном для любителей.
:wink:

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

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

Сообщение scorpi_0n »

КРАМ писал(а):Переносимость проектов меня не интересует. Ибо характер задач исключает как саму необходимость смены платформ, так и не дает ничего в плане трудоемкости этого переноса. Увы.

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

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

Сообщение BOB51 »

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

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

Сообщение scorpi_0n »

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

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

Сообщение otest »

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

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

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

scorpi_0n писал(а):
КРАМ писал(а):Переносимость проектов меня не интересует. Ибо характер задач исключает как саму необходимость смены платформ, так и не дает ничего в плане трудоемкости этого переноса. Увы.

Спасибо. Что и хотелось услышать. То есть на асме всё время приходится писать всё заново. Потому что даже асм ПИК16 отличается от асм ПИК18 и прямой перенос невозможен.

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

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

Сообщение scorpi_0n »

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

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

Сообщение BOB51 »

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

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

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

scorpi_0n писал(а):А взаимодействие кода с алгоритмом и периферией вообще никак не зависит от Асма.

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

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

Сообщение scorpi_0n »

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

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

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

scorpi_0n писал(а):можно подумать что для ПИК12 или 16 есть куча ОСРВ. И можно подумать что все ОСРВ на асме. А Си для МК настолько низкоуровневые что их можно считать высокоуровневым Асмом.

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

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

Сообщение scorpi_0n »

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

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

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

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

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

Сообщение wss60 »

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

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

Сообщение Albert_V »

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

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

Сообщение wss60 »

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

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

Сообщение shindax »

Albert_V писал(а):... и не забыть сбросить флаг прерывания этой "периферии".

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

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

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

wss60 писал(а):Здравствуйте! Решил изучить программирование контроллеров PIC16.
Вопрос: если произойдет одно прерывание, то остальные прерывания будут игнорироваться, пока не закончится обработка первого прерывания?

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

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

Сообщение wss60 »

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

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