Перейти к содержанию

Общие вопросы по PIC-микроконтроллерам


NebsteR

Рекомендуемые сообщения

16 минут назад, IREK_1984 сказал:

на вопрос почему возникает такая ошибка он не ответил.

:D потомушта Вы задаете детские вопросы из серии почему слово ПАПА пишется через А , а не через О. ;)
ответ на вопрос почему возникает такая ошибка Вам дан выше :big_boss:

В 10.02.2024 в 17:12, IREK_1984 сказал:

захотел кое что изменить в коде

как Вы собрались что-то менять, если не в состоянии исправить элементарную ошибку :unknw:

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

1 час назад, IREK_1984 сказал:

В архиве 2 исходника которые не компилируются и  hex файлы. 

Оба исходника из  архива компилируются без ошибок, из файла 80506.asm получается 628lcfg2.9a.hex

Я не знаю, что и где вы там за ошибки нашли.    

80506.lst

В 11.02.2024 в 08:05, my504 сказал:

В исходнике какой то "умник" переставил три строки кода в самое начало. Их нужно переместить после:

Для это контроллера такая манера написания  - это правильно и разумно.  

Ничего и никуда перемещать не надо.  Вы вероятно никогда не писали на асме для 16 серии.  

image.png.beb550437054966ac5ed982d5a177b6a.png

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

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

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

6 часов назад, IREK_1984 сказал:

Почему то у меня не компилируются

Проверил файл 40506.asm из вашего архива. Собрал проект, как у вас рекомендовано, в MPLAB IDE v8.40. Компилируется, в файле 40506.asm ошибок синтаксиса нет.

Вы, уважаемый, как проект создаёте? Как файл к нему подключаете? Напишите подробно. Ошибка явно где-то там.

Чтобы не ждать ваш ответ, напишу, как надо сделать. Запускаете из Главного меню Project > Project Wizard, устанавливаете модель контроллера, соответствующую указанному в ASM-файле в директиве "list", и внимательно заполняете все пути к файлам, которые предлагает этот мастер создания проекта. Предлагаемый компиллятор не меняйте, оставьте тот, что предлагается по умолчанию. Не пропустите шаг, где предлагается подключить файл *.asm к проекту.

1524948500_.png.fd5ac5fd3d47bd633c35e2d8e0314d65.png

 

Когда освоите работу с IDE, второй файл проверите сами.

Изменено пользователем Lexter
Ссылка на комментарий
Поделиться на другие сайты

В 12.02.2024 в 09:30, driver_gv сказал:

Для это контроллера такая манера написания  - это правильно и разумно.  

Ничего и никуда перемещать не надо.  Вы вероятно никогда не писали на асме для 16 серии.

:crazy:

Я так думаю, что количество моих проектов для PIC16 на АСМе ничуть не меньше количества ваших... А может даже и побольше.

Это не я, а вы делали клон пульта к моим изделиям... :rolleyes:

Но по делу.

Ничего "правильного и разумного" в экономии двух строк флеша нет, даже если это флеш какого нибудь PIC10 без прерываний. Рвать код и переставлять в нем связанные между собой сущности - плохая манера.

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, my504 сказал:

 по делу.

Эти четыре строки имеют свое целевое назначение:
сброс регистра INTCON
выбор страницы памяти установкой битов PCLATH<4:3>
переход на начало кода по GOTO
Но все это имеет смысл для МК с памятью > 4k
Для МК с памятью 1к нет никаких препятствий использовать их для других команд.

18 минут назад, my504 сказал:

Рвать код и переставлять в нем связанные между собой сущности - плохая манера.

При вызове функций Вы поступаете иначе?
 

Ссылка на комментарий
Поделиться на другие сайты

Не фантазируйте. Упаковка кода в функцию это как раз пример изоляции единой сущности. А занимать условно системную область бестолковым фрагментом - чисто "корабельниковщина".

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

6 часов назад, my504 сказал:

Не фантазируйте. Упаковка кода в функцию это как раз пример изоляции единой сущности.

Те Вы для передачи параметра в функцию не пользуетесь аккумулятором? А если пользуетесь , то чем
movlw k
call init
goto main

  // бла, бла,бла
init:  movwf CMCON
  // бла, бла,бла
return
main:

принципиально отличается от
movlw k
goto init

//бла, бла,бла
init:  movwf CMCON
//бла, бла,бла
main:

?????

Ссылка на комментарий
Поделиться на другие сайты

Зачем все это? Вы вообще о чем? В обсуждаемом коде просто вырваны три строки из последующего кода и запиханы в начало. Причем не первые три, а начиная со второй. Нахрена? Причем тут передача параметра в Init?

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

Это гомерически смешно. Вы всерьез говорите о том, что три строки флеша решат эту проблему? Что это, кроме как клоунада?

Могу научить как очень эффективно сокращать длину кода. Бесплатно. 

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

Находите в коде повторяющиеся фрагменты и упаковываете их в подпрограмму. Естественно, что при написании кода нужно придерживаться стандартных приемов. Например, двухбайтное сложение не нужно постоянно инлайнить. Или, однотипная инициализация может быть тоже упакована в одну функцию-подпрограмму.

Так же можно принудительно размещать подпрограммы между таблицами кода, поскольку далеко не всегда таблицы кратны страницам, а программная компенсация выравнивания занимает место.

Но мне так кажется, что любезному IMHO это хорошо известно, но у него есть желание поспорить...

Тут я ни в чем помочь не смогу. Спорьте. :crazy:

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, my504 сказал:

Могу научить как очень эффективно сокращать длину кода. Бесплатно. 

2 часа назад, my504 сказал:

Находите в коде повторяющиеся фрагменты...

Ожидаемо)) - озвучить "усталые" истины))
У В.Тимофеева на этот счет есть конкретные примеры.

п.с. В часах использована вся память программ. Правда, многократно приходилось "ужимать" код. Временами даже проскакивала мысль перейти на другой контроллер. Но, таки удалось всё уместить, в коде нет ни одной бесполезной инструкции))

Изменено пользователем _vintik
Ссылка на комментарий
Поделиться на другие сайты

10 минут назад, my504 сказал:

...не хватило ТРЕХ строк...

Одной строки!
А поле оптимизации появилось место для подпрограммы расчета дня недели по дате))
 

Ссылка на комментарий
Поделиться на другие сайты

@my504 , Вы правы IMHO это хорошо известно, поэтому он давно уже не заморачивается с принудительным размещением подпрограмм между таблицами  и пишет код которому пофиг на размер таблицы и кратность ее страницам.

25 минут назад, my504 сказал:

Просто какой то пердимонокль...

скорее перфекционизм в желании впихнуть невпихуемое используя все возможности

Ссылка на комментарий
Поделиться на другие сайты

А вы точно знаете значение слова "перфекционизм"?

У меня ощущение, что нет. Патамушта пытаетесь выдать за перфекционизм помоечные методы в стиле приснопамятного Корабельникова.

Умудриться израсходовать флеш на АСМе можно только таблицами.

То есть три строки флеша тут вообще не причем.

Не надо пытаться вешать мне лапшу. Вы ошиблись адресом.

53 минуты назад, _vintik сказал:

Одной строки!

Извините, но вы гоните пургу.

Назовите о каком чипе речь и в чем коротко заключается проект часов.

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, my504 сказал:

Назовите о каком чипе речь и в чем коротко заключается проект часов.

 

7 часов назад, _vintik сказал:

п.с. В часах использована вся память программ.

Ссылка кликабельна.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...