Вопросы начинающих PIC ASM

Поклонники продукции Microchip Technology Inc тусуются тут.
Аватара пользователя
Steppe
Друг Кота
Сообщения: 4812
Зарегистрирован: Вс сен 17, 2017 17:44:21
Откуда: 51.7727, 55.0988. Высота над морем 107 м. До границы 161 км.

Re: Вопросы начинающих PIC ASM

Сообщение Steppe »

[uquote="BOB51",url="/forum/viewtopic.php?p=4592180#p4592180"]Многое ....[/uquote]
Я задал довольно конкретный вопрос. Вы мне написали целую обобщающую главу.
Про подключение импульсных трансформаторов к ногам МК [uquote="BOB51",url="/forum/viewtopic.php?p=4592180#p4592180"]Применяем варианты ключей с высокоомным входом (эмиттерные повторители) и гальванразвязки на оптронах или импульсных трансформаторах..[/uquote]
даже комментировать не буду.
Как впрочем и все остальное.
Применял как-то dsPIC33FJхххх (80-pin TQFP) c питанием 3,3 В. Навешивал на него много чего. Еле ног хватило. Получился такой контроллер технологического оборудования со многими функциями и т.д. Выбор пал на эту серию из-за встроенного интерфейса с квадратурным энкодером.
Реклама
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Вопросы начинающих PIC ASM

Сообщение Martian »

[uquote="yor",url="/forum/viewtopic.php?p=4592171#p4592171"]А, я понял! ... Искажение - это всего-навсего просадка вывода. И она актуальна в течение нескольких ближайших тактов, или больше, в зависимости от.[/uquote] Если речь всё ещё о RMW, то - нет.
Эта просадка актуальна в течение каких-то наносекунд, а то и меньше, пока входные емкости зарядятся. И я согласен со Steppe, искажать логические уровни мощными нагрузками... ну это возможно только лишь в нарушение спецификаций, не читая их и не зная ничего. Например, цепляясь к древней 145-ой серии бездумно, можно исказить как угодно, да, там требование к нагрузке - мегаом и более. И если имеются ввиду такие специфичные случаи, то спецификация в руки.

Добавлено after 4 minutes 11 seconds:
[uquote="BOB51",url="/forum/viewtopic.php?p=4592180#p4592180"]Классика разработки внешней схемотехники 30-40 летней давности не отменялась.[/uquote] Не 30-40, а вообще. Правила есть правила, их соблюдать надо всегда.
Но причём тут RMW?
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15558
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Вопросы начинающих PIC ASM

Сообщение BOB51 »

Речь о том, что возможно (но в большинстве простых конструкций редко попадается).
Конкретика зависит и от поколения МК и от квалификации выполняющего проект.
Смотрим название данной ветки.
:wink:
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Вопросы начинающих PIC ASM

Сообщение Martian »

А в сложных - часто? :)))
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Steppe
Друг Кота
Сообщения: 4812
Зарегистрирован: Вс сен 17, 2017 17:44:21
Откуда: 51.7727, 55.0988. Высота над морем 107 м. До границы 161 км.

Re: Вопросы начинающих PIC ASM

Сообщение Steppe »

[uquote="Martian",url="/forum/viewtopic.php?p=4592206#p4592206"]И я согласен со Steppe, искажать логические уровни мощными нагрузками... ну это возможно только лишь в нарушение спецификаций,[/uquote]
Мы же не китайцы, которые вешают на ноги МК напрямую аноды/катоды семисегментных индикаторов, да еще и опрос клавиатурных кнопок одновременно туда же.
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15558
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Вопросы начинающих PIC ASM

Сообщение BOB51 »

Это уже не вопросы ассемблера и системы команд.
8)
Абсолютным решением вопроса является применение дополнительных буферных регистров в ОЗУ - одного под исходные данные для вывода в порт другого для хранения текущих данных, считанных из линий порта. Медленно, но полностью контролируемо.
"Стандартная средне младшая" это совсем не 18я или более "старшие".
А уж если и это не помогает - тогда лезем в дебри документации и схемотехники.
8)
Реклама
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Вопросы начинающих PIC ASM

Сообщение Martian »

хм... а почему сразу не залезть в дебри документации и схемотехники? Когда мне здесь указали на ошибочность понимания работы порта, у меня сразу всё стало просто и логично. И если бы раннее сразу залез в дебри (точнее, понял бы их верно), то и сразу было бы проще.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15558
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Вопросы начинающих PIC ASM

Сообщение BOB51 »

Документация на сегодня это несколько буков страниц за 500 да на иностранном (включая иероглифы).
Вычитывать её в обязательном порядке разве что профессионалам под силу.
Чаще читаем общую часть в обязательном порядке и уже глубоко "по прециденту" встречи с неясной ситуацией.
Иначе "мозги выкипят" (Да и при нынешней частоте смены поколений и семейств МК ресурса мозгов на ВСЁ не хватит).
:beer:
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Вопросы начинающих PIC ASM

Сообщение Martian »

ну... ну... ну тогда я не знаю, как быть :)
Аватара пользователя
Steppe
Друг Кота
Сообщения: 4812
Зарегистрирован: Вс сен 17, 2017 17:44:21
Откуда: 51.7727, 55.0988. Высота над морем 107 м. До границы 161 км.

Re: Вопросы начинающих PIC ASM

Сообщение Steppe »

[uquote="BOB51",url="/forum/viewtopic.php?p=4592230#p4592230"]Документация на сегодня это несколько буков страниц за 500 да на иностранном (включая иероглифы).
Вычитывать её в обязательном порядке разве что профессионалам под силу.
Чаще читаем общую часть в обязательном порядке и уже глубоко "по прециденту" встречи с неясной ситуацией.
Иначе "мозги выкипят" (Да и при нынешней частоте смены поколений и семейств МК ресурса мозгов на ВСЁ не хватит).
:beer:[/uquote]
Позвольте мне не согласиться с таким утверждением.
МК меняются не так часто, как вам кажется. У семейств существует преемственность. Если понадобиться разобраться с определенным интерфейсом, к примеру CAN, DMA или другими, то читай соответствующие главы. Вычитывать нужно в обязательном порядке. И что такое "общая часть" в datasheet? Первые несколько страниц документа?
Не разбираясь с работой "модулей", интерфейсов, что находятся на борту любого МК, ничего путного никогда не создать.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15558
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Вопросы начинающих PIC ASM

Сообщение BOB51 »

Martian писал(а):ну... ну... ну тогда я не знаю, как быть :)
Читать учебники по навыкам сбора, систематизации и анализу информации.
:wink:
Steppe
В каждом МК всегда будут неиспользуемые в конкретной конструкции режимы работы и аппаратные модули.
Перечитывать ВСЁ в таком случае весьма избыточно.
Насчёт смены поколений МК и семейств (даже с учётом некоторой преемственности) то минимум раз в год новинки в серию запускаются. Функции начальной конфигурации давненько уже вручную мало кто делает - пользуются готовым софтом не вникая в подробности (т.е. не вычитывая документацию МК). И только при возникновении проблем к букам обращаются. И плюсы в том и минусы.
8)
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25222
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Вопросы начинающих PIC ASM

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

[uquote="Steppe",url="/forum/viewtopic.php?p=4592236#p4592236"]Позвольте мне не согласиться с таким утверждением.
....... ничего путного никогда не создать.[/uquote]
:facepalm:
"Не ищи дурее себя..." (с)
В очередной раз повторяю поговорку моего тестя...
Ваш опыт канешна бесценен, но недостаточен, чтобы нравоучить.
Классический случай проблемы связанной с отсутствием входной защелки В СТАРЫХ МК Микрочипа - программная эмуляция 1Wire и I2C.
Не нужно просаживать выходы, достаточно применить open drain. Рассказать вам как это происходит?
Абисняю.
Ноль пишут в выходную защелку порта PORTx, а вывод осуществляют с помощью TRISx.
Надеюсь вы догадались как быстро в порт будет перезаписана единица вместо нуля?
:tea:
Ну и в догон напомню вашему бесценному опыту, что в 18-х пиках и, тем более, в дспиках всегда имеется отдельная защелка у выхода и отдельная у входа. Поэтому там такого конфликта не может быть по определению.
[uquote="yor",url="/forum/viewtopic.php?p=4592171#p4592171"]А, я понял![/uquote]
Нет, вы ничего не поняли.
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Вопросы начинающих PIC ASM

Сообщение Martian »

что-то я упускаю суть и у меня создаётся ощущение, что мы все доказываем одно и то же. Ещё больше запутывая yor
Аватара пользователя
Steppe
Друг Кота
Сообщения: 4812
Зарегистрирован: Вс сен 17, 2017 17:44:21
Откуда: 51.7727, 55.0988. Высота над морем 107 м. До границы 161 км.

Re: Вопросы начинающих PIC ASM

Сообщение Steppe »

[uquote="КРАМ",url="/forum/viewtopic.php?p=4592242#p4592242"]"Не ищи дурее себя..." (с)
В очередной раз повторяю поговорку моего тестя...[/uquote]
Вот на этой сладкой парочке и остановимся...
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15558
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Вопросы начинающих PIC ASM

Сообщение BOB51 »

Разновидность (вариации на тему) DDS?...
8)
yor
Говорящий с текстолитом
Сообщения: 1679
Зарегистрирован: Сб янв 19, 2008 23:57:27

Re: Вопросы начинающих PIC ASM

Сообщение yor »

Это прямой цифровой синтез? Я и слов таких не знаю))
Человек изобрести может всё, но кто ж виноват, что всё изобретено до нас))
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15558
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Вопросы начинающих PIC ASM

Сообщение BOB51 »

Ну вроде того...
таймер 8 разрядный счетные тики дает, а программный обработчик заданную частоту высчитывает.
:roll:
yor
Говорящий с текстолитом
Сообщения: 1679
Зарегистрирован: Сб янв 19, 2008 23:57:27

Re: Вопросы начинающих PIC ASM

Сообщение yor »

Есть ли какие тонкости с WDT, или просто настроить его и сбрасывать по ходу программы, пока не истекло время?
Аватара пользователя
Steppe
Друг Кота
Сообщения: 4812
Зарегистрирован: Вс сен 17, 2017 17:44:21
Откуда: 51.7727, 55.0988. Высота над морем 107 м. До границы 161 км.

Re: Вопросы начинающих PIC ASM

Сообщение Steppe »

[uquote="yor",url="/forum/viewtopic.php?p=4594214#p4594214"]Есть ли какие тонкости с WDT, или просто настроить его и сбрасывать по ходу программы, пока не истекло время?[/uquote]
Есть. Все они описаны в datasheet
yor
Говорящий с текстолитом
Сообщения: 1679
Зарегистрирован: Сб янв 19, 2008 23:57:27

Re: Вопросы начинающих PIC ASM

Сообщение yor »

[uquote="КРАМ",url="/forum/viewtopic.php?p=4436367#p4436367"]избегайте блокирующего кода. То есть такого кода, который занимает много времени на свое исполнение. Любой код должен вызываться из пустого цикла, исполняться и возвращать управление в пустой цикл. Пустой цикл - это основной внешний цикл работы МК из которого вызываются все функции.
На ассемблере PIC-ов это выглядит так:

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

Superloop:
        call    Func1
        call    Func2
        call    Func3
..
        call    FuncN
        goto  Superloop

Func1:
......
       return

Func2:
......
       return

Func3:
......
       return

...................
...................
...................

FuncN:
......
       return
На фоне работы этого кода могут генерироваться и вызываться прерывания, обработчики которых являются отдельным кодом.[/uquote]Это пример идеальной программы? В смысле сферической в вакууме? В мало-мальски сложной программе скорей всего (и даже точно) надо будет по результатам выполнения FuncN прыгать в разные места, крутиться и вертеться как волчок. Мне кажется, что очень трудно, если вообще возможно, оформить чисто в таком виде. Без вставок проверок условий и т.д. рутины.
Вопрос вызван вот чем:

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

; RA2 изменил уровень, как? Спад или подъём? Факт смены уровня подразумавает инверсию D1 in Dlvl
; Просто инвертируем его, если был 0 -> 1 && call RearFront, 1 -> 0 && call FwdFront
<------>movlw<->0x4<---><------>; вес D1
<------>xorwf<->Dlvl,f<><------>; инверсия D1
<------>btfss<->Dlvl,D1
<------>call<-->FwdFront
[<----->goto<-->scanD]
<------>call<-->RearFront
Не могу сообразить, как после проверки btfss пройти на два последовательных вызова ПП? После первой не надо вызывать вторую. Но если вставить goto, то на него сразу уйдёт вместо второго call. Подскажите пож-ста, какая тут есть хитрость.
Ответить

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