Например TDA7294

Форум РадиоКот • Просмотр темы - MPLAB в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 07:24:14

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


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



Начать новую тему Ответить на тему  [ Сообщений: 495 ]     ... , , , 17, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Ср фев 01, 2017 06:44:28 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 440
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2024
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
MPSM Assembler help писал(а):
#v(expr) - Return the integer value of expr. Typically, used to create unique variable names with common prefixes or suffixes. Cannot be used in conditional assembly directives (e.g. ifdef, while).

Особое внимание на ето - Cannot be used in conditional assembly directives (e.g. ifdef, while).

Да и (лично) я не пойму - что за любов к макросам. Сколько раза въ исползуете етот макрос в коде? И неужели он повъсить читаемость кода? Не верю!

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Ср фев 01, 2017 08:03:00 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Нет, этот макрос по сути будет использован лишь 1 раз. Но все они (макросы) в куче приводят вид обработчика перехода на нужную менюшку/подменюшку к довольно компактному и читабельному (кол. строчек по вертикали) коду:
Спойлер
Код:
   include   MicroMenu.h
;===========================
MicroMenu      code   0x100-3
Main_Menu_Table
   movfw   index_menu
   clrf   PCLATH
   bsf      PCLATH,0
   addwf   PCL
   goto   Zastavka
   goto_Punkt_Menu

Menu_Switch
   movfw   index_menu
   clrf   PCLATH
   bsf      PCLATH,0
   addwf   PCL
   nop
   goto_Menu_Table   
   goto_Menu_Submenu                  ; Супермакрос, создает цепочку макросов, в количестве пунктов меню
;===========================
Num_of_Submenu_Table                  ; Возвращаем количество пунктов в нужном подменю
   movfw   index_menu
   clrf   PCLATH
   bsf      PCLATH,0
   addwf   PCL
   retlw   0
   retlw_num_of_submenu_punkts
;===========================
Action_Switch                        ; Выполним действие, на котором находится курсор
   movfw   index_menu                  ; Берем выбраный пункт меню
   clrf   PCLATH
   bsf      PCLATH,0
   addwf   PCL                        ; Переходим на нужную ветку
   nop
   goto_Menu_Table_action
   goto_Menu_Submenu_action            ; Супермакрос, создает цепочку макросов, в количестве веток выполняемых действий


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Ср фев 01, 2017 08:13:49 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 440
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2024
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
Пока_без_кота писал(а):
лишь 1 раз.

!!!!!!?????
Как я делаю
Код:
main_loop
   call    Fr_Main_Ch      ; въбор режима и ожидание кнопки избор режим на работа и чакане за бутон
   btfsc    Fx_Key
   call    Fx_Work         ; Frequency
   btfsc    FxP_Key
   call    Fx_Work      ; Freq + Preskaler
   btfsc    Cx_Key
   call    Cx_Work         ; Cx Meter
   btfsc    Lx_Key   
   call    Lx_Work         ; Lx Meter
   btfsc    Tx_Key   
   call    Tx_Work         ; Tx Meter
   
   goto   main_loop


Сравните с то что въ предлагаете.

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Ср фев 01, 2017 13:53:57 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
botchin писал(а):
...Сравните с то что въ предлагаете.

Это немного не то. У Вас простой обработчик нажатия кнопки, вызывает соответствующую процедуру. И судя по всему, это простое одноуровневое меню, которе в зависимости от нажатой кнопки совершает 1 соответсвующее действие.
У меня все немного сложнее. Есть 4 кнопки - крестовина, нажимаем любую - вызывается меню (курсор на 1 пункте). Нажимаем вниз-вверх - ходим по меню, наживаем вправо - входим в соответствующее подменю, там тоже гуляем вниз-вверх, еще раз нажимаем вправо и выполняем действие, на котором находиться курсор. Нажимаем влево - выходим в главное меню (курсор на пункте меню из которого только что вышли), еще раз влево - выход из меню. И это все (количество пунктов меню и каждого подменю) настраивается с помощью нескольких констант в заголовочном файле. И я сделал так, что все работает как надо, просто вот вылез интересный глюк препроцессора, который я пока поборол довольно банально, написав следующее:
Спойлер
Код:
NUM_OF_SUBMENU_PUNKTS_1      equ      NUM_OF_SUBMENU_1_PUNKTS
NUM_OF_SUBMENU_PUNKTS_2      equ      NUM_OF_SUBMENU_2_PUNKTS
NUM_OF_SUBMENU_PUNKTS_3      equ      NUM_OF_SUBMENU_3_PUNKTS
NUM_OF_SUBMENU_PUNKTS_4      equ      NUM_OF_SUBMENU_4_PUNKTS
NUM_OF_SUBMENU_PUNKTS_5      equ      NUM_OF_SUBMENU_5_PUNKTS
NUM_OF_SUBMENU_PUNKTS_6      equ      NUM_OF_SUBMENU_6_PUNKTS
NUM_OF_SUBMENU_PUNKTS_7      equ      NUM_OF_SUBMENU_7_PUNKTS
NUM_OF_SUBMENU_PUNKTS_8      equ      NUM_OF_SUBMENU_8_PUNKTS


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Ср фев 01, 2017 15:13:47 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 440
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2024
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
Ето у меня 2-ой уровень (правда отсюда к первому возврата нет). За етим следуют до 2 уровня - вход и возврат, уменьшение/увеличение, память и т.д. Давно писал не помню уже все ....

Пока_без_кота писал(а):
поборол довольно банально, написав следующее:

Пока_без_кота писал(а):
довольно компактному и читабельному (кол. строчек по вертикали) коду:

У вас сейчась как-то так:
Код:
NUM_OF_SUBMENU_PUNKTS_1      equ      NUM_OF_SUBMENU_1_PUNKTS
NUM_OF_SUBMENU_PUNKTS_2      equ      NUM_OF_SUBMENU_2_PUNKTS
NUM_OF_SUBMENU_PUNKTS_3      equ      NUM_OF_SUBMENU_3_PUNKTS
NUM_OF_SUBMENU_PUNKTS_4      equ      NUM_OF_SUBMENU_4_PUNKTS
NUM_OF_SUBMENU_PUNKTS_5      equ      NUM_OF_SUBMENU_5_PUNKTS
NUM_OF_SUBMENU_PUNKTS_6      equ      NUM_OF_SUBMENU_6_PUNKTS
NUM_OF_SUBMENU_PUNKTS_7      equ      NUM_OF_SUBMENU_7_PUNKTS
NUM_OF_SUBMENU_PUNKTS_8      equ      NUM_OF_SUBMENU_8_PUNKTS

retlw_num_of_submenu_punkts   macro      ; Макрос, автоматически создаст таблицу возвратов количества пунктов в нужном подменю
         local   a=1
            while   a<NUM_OF_MAIN_MENU_PUNKTS+1
               retlw   NUM_OF_SUBMENU_#v(a)_PUNKTS
               a+=1
            endw
         endm

заместо:
Код:
   154    3403     RETLW 0x3                      36:       retlw_num_of_submenu_punkts
   155    3403     RETLW 0x3   ;точка для обработки ...... .....
   156    3403     RETLW 0x3   ; или там что-то еще
   157    3403     RETLW 0x3
   158    3403     RETLW 0x3
   159    3403     RETLW 0x3   ;NUM_OF_SUBMENU_8_PUNKTS
   15A    3403     RETLW 0x3   ;или хотя так
   15B    3403     RETLW 0x3
с соответсвующие коментариев.

Извини, но для меня более приглядно второе представление. Напоминаете моего коллега расспишавнии умножение на 1.2 на 22 страниц кода.

Вам виднее. Если вам так нравится - делайте так.

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Сб фев 04, 2017 08:14:59 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21784
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Пока_без_кота писал(а):
Это немного не то.

А зачем писать на АСМе, если Вас волнует читабельность в стиле Си?
Поддержу болгарского коллегу на предмет "кому нравится арбуз, а кому свиной хрящик".
Человеку пишущему, в том числе, на АСМе нет необходимости громоздить макросные синтаксические конструкции имеющие целью скрыть собственно АСМ аббревиатуры, заменив их на абстракции. К тому же эти абстракции ни разу не сокращают сам листинг.
ПишИте подобные меню на Си и будет не только искомая читабельность, но и НАСТОЯЩЕЕ абстрагирование кода с сокращением текста до уровня "беллетристики для дилетанта".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Сб фев 04, 2017 09:07:37 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7854
Рейтинг сообщения: 0
Как импортировать текст из ДШ и ANов в МПЛАБ для компиляции ?

Например:
003F 00152 Freq10Kto50
003F 0070 00153 clrf InputCounthi ;0 --> InputCount
0040 006F 00154 clrf InputCountlo ; /
0041 0C17 00155 movlw B’00010111’ ;start TMR0 with internal
0042 0002 00156 option ; clk. = 1uS
0043 0C0F 00157 movlw B’00001111’ ;set RA0 as a input
0044 0005 00158 tris PORTA ; /
0045 0705 00159 btfss _ra0 ;see if level low
0046 0A49 00160 goto FirstHigh ;yes then check leading edge


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Вс фев 05, 2017 08:04:52 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 14
Зарегистрирован: Сб сен 19, 2009 07:02:19
Сообщений: 378
Рейтинг сообщения: 0
otest писал(а):
Как импортировать текст из ДШ и ANов в МПЛАБ для компиляции ?...

Так почти всегда, к AN прилагаются файлы с исходниками.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Вс фев 05, 2017 08:58:10 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7854
Рейтинг сообщения: 0
Ну и как их скормить MPLAB ???


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Вс фев 05, 2017 09:06:44 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21784
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Так же, как и свои, создав проект и включив в этот проект файлы с исходниками примеров, либо просто скопипастить из этих файлов фрагменты кода.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Вс фев 05, 2017 11:22:17 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7854
Рейтинг сообщения: 0
КРАМ
Попробуй это сделать и выложи скрин.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Вс фев 05, 2017 11:31:03 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Как вариант - вначале скопируйте текст в MS Word и отредактируйте.
Выделение вертикальных блоков - нажатый Alt + "левая кнопка мыши".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Вс фев 05, 2017 11:36:00 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21784
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
otest писал(а):
КРАМ
Попробуй это сделать и выложи скрин.

Что "это"?
Вы поразительно невнятно выражаетесь...
Вместо предложений что либо сделать, изложите свои проблемы конкретно.
Я копирую код из референсных исходников и на АСМе и на Си. Что Вы желаете увидеть?
:dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Вс фев 05, 2017 13:06:18 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7854
Рейтинг сообщения: 0
Выражусь по другому.
Как вот от этого избавиться кроме ручной очистки.
Или как это импортировать (вставить) в МПЛАБ для компиляции.
Если ни как, то зачем такие тексты в АНах печатают ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Вс фев 05, 2017 13:59:13 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Уже ответили выше - как вариант, вставить в Word и с зажатым Alt удалить ненужное.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Вс фев 05, 2017 15:56:46 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21784
Откуда: Московская область, Фрязино
Рейтинг сообщения: 4
otest писал(а):
зачем такие тексты в АНах печатают ?

Затем, чтобы их ЧИТАЛИ. А копипастить если и нужно, то из прилагаемых к аппнотам архивов с референсными кодами.
Можно и из аппноты набрать текст РУЧКАМИ - не велик труд. Заодно и разобраться в том, как он работает.
К слову, в аппнотах на АСМе больших текстов не бывает. Максимум на три десятка строк.
То, что Вы тут показали - это листинг дизасма, то есть и текст и собственно адреса с кодами.
Для вставки нужны только команды. Адрес и код удаляется.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Вс фев 05, 2017 16:09:15 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7854
Рейтинг сообщения: 0
Я понимаю что нужно удалить и куда вставить. Не понимаю зачем их в таком виде печатают, если МПЛАБ их не ест.
А читать код можно чистый и с коментариями. Цифры для этого не нужны.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Вс фев 05, 2017 16:16:24 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21784
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Листинги в аппнотах публикуют ПО РАЗНОМУ. Это зависит от АВТОРА аппноты. В отличии от даташитов и мануалов, аппноты являются техническими статьями конкретных авторов, а не нормативными документами.
Кто то из этих авторов предпочитает публиковать дизасм, а кто то исходник. Не вижу в этом никаких проблем.
К слову, в референсных мануалах неоднократно встречал такое форматирование исходников в пдф, которое при копировании текста требует еще больше усилий, нежели удаление лишнего из дизасма.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Вт мар 14, 2017 12:32:54 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 1368
Зарегистрирован: Пт авг 28, 2009 21:34:30
Сообщений: 7214
Откуда: 845-й км.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Я в непонятках, может, кто по-быстрому подскажет в чем проблема. Захотел скомпилировать код столетней давности. Поставил свеженький MPLAB X и пытаюсь... Вот компилятору не понравилась такая конструкция, которую я ранее под gpasm-ом использовал, как предохранитель если таблица переползёт границу страницы:
Код:
statesel:
   goto   init_td
   goto   startconvert
   goto   waitconvert
   goto   read_td
   goto   relax   
   goto   relax   
   goto   tnext   
   goto   t_error
   IF HIGH(statesel)-HIGH($-1)                 ; <-- ошибка в этой строке.
   ERROR   "Table statesel over page edge"
   ENDIF


Ранее, оно работало правильно, а теперь мплаб выдаёт такое сообщение об ошибке:
Код:
Error[151]   C:\USERS\....\NEWPIC_8B_GENERAL.ASM 273 : Operand contains unresolvable labels or is too complex
case sensitivity в настройках компилятора я выключаю.

_________________
А люди посмотрят и скажут: "Собаки летят. Вот и осень."


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB в вопросах и ответах
СообщениеДобавлено: Вт мар 14, 2017 15:53:35 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7854
Рейтинг сообщения: 0
Укороти путь и имя.


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

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


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

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


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

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


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