Например TDA7294

Форум РадиоКот • Просмотр темы - Вопросы начинающих PIC ASM
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пт сен 27, 2024 23:17:02

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 718 ]     ... , , , , 36
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб авг 03, 2024 12:09:26 
Друг Кота
Аватар пользователя

Карма: 94
Рейтинг сообщений: 1399
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14392
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Вроде
Goto $
Или попроще
Stop
Goto stop
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт авг 09, 2024 14:10:21 
Говорящий с текстолитом
Аватар пользователя

Карма: 1
Рейтинг сообщений: 83
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1589
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
А не возбраняется ли, не будет каких негативных последствий, если код, выполняемый в прерывании, дополнительно вызывать извне, в ходе обычного выполнения? Даже если пересекутся, вроде ничего страшного не вижу навскидку.

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт авг 09, 2024 14:32:00 
Друг Кота
Аватар пользователя

Карма: 137
Рейтинг сообщений: 2802
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 22572
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
ничего страшного не вижу навскидку.

Для этого обработчик должен быть выполнен как колбэк. То есть изолирован от проверки и сброса флагов, а так же от выхода по retfie вместо return.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт авг 09, 2024 15:36:40 
Говорящий с текстолитом
Аватар пользователя

Карма: 1
Рейтинг сообщений: 83
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1589
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Для этого обработчик должен быть выполнен как колбэк. То есть изолирован от проверки и сброса флагов, а так же от выхода по retfie вместо return.
Что это за обработчик, без проверки и сброса флагов? Что он там обработает? Это получится просто ПП, по адресу вектора прерывания. Думаю, как совместить с функцией прерывания, чтобы часть её кода (не весь) отрабатывал и в прерывании, и снаружи. Можно доп. проверки использовать.


А если вручную сбросить GIE и принудительно уйти на код в прерывании, потом восстановить GIE?

_________________
gentoo kicad 7


Вернуться наверх
 
Материалы вебинара «Пленочные конденсаторы Hongfa для источников питания и силовой электроники»

Опубликованы материалы вебинара, посвященного пленочным конденсаторам компании Hongfa, на котором была представлена текущая линейка и модельный ряд продукции этого направления, включая новые, недавно вышедшие серии. На вебинаре были приведены актуальные примеры применения пленочных конденсаторов Hongfa в источниках питания, зарядных станциях для электротранспорта, преобразователях частоты, фотоэлектрических преобразователях и ветрогенераторах.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт авг 09, 2024 16:23:24 
Друг Кота
Аватар пользователя

Карма: 137
Рейтинг сообщений: 2802
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 22572
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Что это за обработчик, без проверки и сброса флагов?

Любезный, у меня есть к вам предложение не гнуть пальцы и не умничать, изрекая всякую смешную хрень.
Я достаточно определенно озвучил новый для вас термин - колбэк.
Это отдельная функция вызываемая из прерывания (в данном случае из прерывания, само понятие шире).
Таким образом, в колбэке нет никаких флагов и retfie. Он обычная функция без передачи аргументов и возврата значения - в лингвистике Си void Func(void).


Вернуться наверх
 
Помехоподавляющие пленочные конденсаторы Hongfa для бытовых и промышленных сетей

Компания Hongfa - один из лидеров азиатского рынка пленочных конденсаторов с полным циклом производства. Она выпускает пять серий помехоподавляющих конденсаторов этого типа как для бытовой, так и для трехфазной промышленной сети, а также для автомобильного применения. Продукция компании по ассортименту, параметрам и количеству серий конденсаторов ЭМП не уступает другим крупным производителям этого сегмента и может легко заменить ассортимент ушедших из РФ брендов.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт авг 09, 2024 21:18:30 
Говорящий с текстолитом
Аватар пользователя

Карма: 1
Рейтинг сообщений: 83
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1589
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
А зачем микрочипы про АЦП (10 разряд 12f675) пишут про время выбора, подготовки и проч? Не пойму, что ему надо обеспечить, если о готовности сигнализирует бит запуска GO/DONE? Выбрал из таблицы делитель тактового сигнала, и все дела?

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб авг 10, 2024 00:20:21 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 146
Зарегистрирован: Ср окт 04, 2017 20:47:40
Сообщений: 816
Рейтинг сообщения: 0
yor, изините, но читаю и вижу, что у вас какое-то постоянное искание "коня в вакууме". Просто включите свою логику и блюдите логику процесса. Всё!
А то получается типа: "Подскажите, мне достать деньги из кошелька за покупку до оплаты в кассу или в момент оплаты и что если не хватит мелочи, менять купюру? Какие при этом могут быть проблемы?" :))
Чего-то смахивает на желание просто поболтать, а не думать. :(
yor писал(а):
если код, выполняемый в прерывании, дополнительно вызывать извне, в ходе обычного выполнения
Да пожалуйста, только войдите туда (как в П/П) с неким признаком.
yor писал(а):
Можно доп. проверки использовать.
Да. И выход из этой П/П в некоем месте предполагаемого выхода, по проверке признака. Если признака нет, то значит идёт выполнение прерывания.
А ещё есть варианты рекурсивных кусков программ. Там вы без пространственного воображения процесса вообще заманаетесь.
Могу только посоветовать вам рисовать себе подробное графическое представление течения процесса и попытаться пройтись по нему рассуждая в разных возможных вариантах. Уверяю, что тогда множество вопросов отпадёт само собой.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб авг 10, 2024 04:22:54 
Друг Кота
Аватар пользователя

Карма: 137
Рейтинг сообщений: 2802
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 22572
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
А зачем ....все дела?

При выборе интервала между преобразоапниями нужно помнить, что кроме времени преобразования требуется время на захват сигнала - эквизишн тайм. Это время на заряд конденсатора УВХ. Оно зависит от емкости этого конденсатора в конкретном МК, от сопротивления открытого ключа УВХ в конкретном МК, и от внутреннего сопротивления источника сигнала подаваемого на вход АЦП.
На эту тему в даташите в главе АЦП есть целый раздел.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб авг 10, 2024 06:44:53 
Говорящий с текстолитом
Аватар пользователя

Карма: 1
Рейтинг сообщений: 83
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1589
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
yor, изините, но читаю и вижу, что у вас какое-то постоянное искание "коня в вакууме". Просто включите свою логику и блюдите логику процесса. Всё!
Нет уж, это вы тут меня извините)) Я новичок-новатор, и вижу слишком много возможностей, так лучше спросить, чем потратив время, в тупик упереться. Мотает, да, включаю стабилизатор.

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб авг 10, 2024 15:16:45 
Друг Кота
Аватар пользователя

Карма: 6
Рейтинг сообщений: 17
Зарегистрирован: Вс сен 17, 2017 17:44:21
Сообщений: 4465
Откуда: 51.7727, 55.0988. Высота над морем 107 м. До границы 161 км.
Рейтинг сообщения: 0
Я новичок-новатор,
Очень смешно


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб авг 10, 2024 22:16:49 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 146
Зарегистрирован: Ср окт 04, 2017 20:47:40
Сообщений: 816
Рейтинг сообщения: 0
yor писал(а):
Я новичок-новатор и вижу слишком много ...
Да уж. :( Но зато как круто завернул. :)
yor писал(а):
... вижу слишком много возможностей, так лучше спросить, чем потратив время, в тупик упереться
Сорри, но ковыряетесь в (видимо никем акромя вас незамеченном :)) ) малосущественном и мало принципиальном, главное вы упускаете.
Посмею повториться - учитесь развивать последовательную логику, тогда и "тупиков" не будет.
Потом помнить про написанное в даташите, отделяя справочную информацию от необходимой.
Ну и как один из основных принципов составления логики программы - наверное всёже в прерываниях не следует делать ничего без чего в данном случае можно там обойтись (т.е. мин. "телодвижений" для фиксации события), перенеся всё "лишнее" оттуда в основную программу. А не наоборот, перегружая обработчик прерывания, да ещё так, :shock: что основная программа оттуда может чегонить почерпнуть. Т.е. это есть грубейшая ошибка.
Ну и напоследок позволю совет - прекращайте заниматься "новаторством", а учитесь правильно строить путь необходимого вам процесса. И опять напомню - т.к. у вас явно с пространственным представлением не очень, вам показано строить графическое представление хода программы. И для ассемблерного написания оной достаточно подробный. Как бонус ошибки будут исключены по определению. При этом вы себе и время сэкономите (тема уже за месяц перевалила) и спрашивать будет практически почти нечего.
Но путь и каким советам следовать выбирать вам. Удачи. Засим Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вс авг 11, 2024 08:55:21 
Говорящий с текстолитом
Аватар пользователя

Карма: 1
Рейтинг сообщений: 83
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1589
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Так-то я программу опережения зажигания давно уже написал (то есть, недавно), в симуляторе работает. Можете проверить)) Описание внутри.
Вложение:
pic-uoz-029.asm [28.07 KiB]
Скачиваний: 54

А чтобы проверить в железе, приходится с нуля делать генератор сигналов, подходящего не нашлось, чем и занимаюсь. Засим откланиваюсь, замечания учту))

Насчёт графического представления тоже подходящего нет, драконы там всякие, и прочее. Больше следить приходится за офррмлением, чем за сутью. Обхожусь текстовым.
Вложение:
stage-rolling012.txt [1.88 KiB]
Скачиваний: 143

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт авг 16, 2024 19:31:38 
Говорящий с текстолитом
Аватар пользователя

Карма: 1
Рейтинг сообщений: 83
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1589
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Что здесь имеют в виду:
Код:
The TMR1H:TTMR1L register pair and the TMR1IF bit should be cleared before enabling interrupts.

Это нужно перед включением TMR1IE или и перед GIE и PEIE? "Before enabling interrupts" - насколько перед, за несколько команд ДО, в том числе перед CALL, удовлетворит требованиям?

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт авг 16, 2024 19:37:06 
Друг Кота
Аватар пользователя

Карма: 137
Рейтинг сообщений: 2802
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 22572
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Просто перед тем, как разрешить прерывание. Сначала сбросили таймер , потом флаг и лишь затем разрешили прерывание


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт авг 16, 2024 21:15:33 
Говорящий с текстолитом
Аватар пользователя

Карма: 1
Рейтинг сообщений: 83
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1589
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
То есть принципиальным тут является очистка таймера, не сбросить флаг перед разрешением прерываний - это не будет работать, по логике вещей. Именно CLRF или можно записать свои значения? Потому что тут же при записи в работающий таймер:
Код:
; All interrupts are disabled
 CLRF TMR1L ; Clear Low byte, Ensures no rollover into TMR1H
 MOVLW HI_BYTE ; Value to load into TMR1H
 MOVWF TMR1H, F ; Write High byte
 MOVLW LO_BYTE ; Value to load into TMR1L
 MOVWF TMR1H, F ; Write Low byte
 ; Re-enable the Interrupt (if required)
 CONTINUE ; Continue with your code

Не производится сброс регистров перед разрешением прерывания.

В каком случае нельзя остановить таймер, чтобы на ходу в него писать?

Добавлено after 10 minutes 5 seconds:
И обязательно перевключать бит разрешения прерываний после прерывания? Если я его не трогаю, а останавливаю таймер, сбрасываю бит сигнализации прерывания, перезаписываю и опять запускаю таймер?

Добавлено after 1 hour 8 minutes 41 second:
Что не так при запуске таймера? Запуск из прерывания, GIE сам при выходе взведётся. По даташиту

Код:
        CLRF    T1CON           ; Stop Timer1, Internal Clock Source, ; T1 oscillator disabled, prescaler = 1:1
        CLRF    TMR1H           ; Clear Timer1 High byte register
        CLRF    TMR1L           ; Clear Timer1 Low byte register
        CLRF    INTCON          ; Disable interrupts
        Bank1
        CLRF    PIE1            ; Disable peripheral interrupts
        Bank0
        CLRF    PIR1            ; Clear peripheral interrupts Flags
        movfw   _th
        movwf   TMR1H           ; импульс, низкого уровня
        movfw   _tl
        movwf   TMR1L
        bsf     T1CON,T1CKPS0   ; prescaler 1:2
        bsf     T1CON,TMR1ON    ; — TMR1GE T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON
        Bank1
        bsf     PIE1,TMR1IE
        Bank0
        bsf INTCON,PEIE

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб авг 17, 2024 07:31:32 
Говорящий с текстолитом
Аватар пользователя

Карма: 1
Рейтинг сообщений: 83
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1589
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
С тоской вспоминаю старую советскую документацию, где всё чётко стройно однозначно и доходчиво(( А не вот эти вот шатания-мотания, эрраты и прочие домыслы.
Справедливости ради заметить, что тогда техника проще была, конечно.

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб авг 17, 2024 08:21:00 
Друг Кота
Аватар пользователя

Карма: 6
Рейтинг сообщений: 17
Зарегистрирован: Вс сен 17, 2017 17:44:21
Сообщений: 4465
Откуда: 51.7727, 55.0988. Высота над морем 107 м. До границы 161 км.
Рейтинг сообщения: 0
С тоской вспоминаю старую советскую документацию, где всё чётко стройно однозначно и доходчиво(( А не вот эти вот шатания-мотания, эрраты и прочие домыслы.
Справедливости ради заметить, что тогда техника проще была, конечно.

"Новатор" заныл, мозгов не хватает осилить документацию на древние PIC. С тоской вспоминает паспорта на комплектующие времен СССР.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт авг 20, 2024 22:45:59 
Говорящий с текстолитом
Аватар пользователя

Карма: 1
Рейтинг сообщений: 83
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1589
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
По какой причине может не работать в железе, когда в полном объёме работает в симуляторе? Никаких АЦП тут нет. Только вычисления и ногодрыг по таймерам. И в железе не совсем не работает, а только на участке вычислений задержки.


Вложения:
pic-uoz-030-ton2.asm [27.78 KiB]
Скачиваний: 15898

_________________
gentoo kicad 7
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 718 ]     ... , , , , 36

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y