Jump to content
NebsteR

Pic. Общие Вопросы

Recommended Posts

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

Err_c = Err_c + 1; //запрещенное состояние Err_c это переменная или нет если переменная то где что дальше с ней делается за циклом switch?

если энкодер подключен к двум входам порта Б то откуда берутся изменения в 0b00001101 в третьем и четвертом бите. 

то есть к каким пинам по счёту энкодер подключен

1. можно ничего не делать, это переменная введена для контроля исправности эндкодера и наличие ошибок при больших скоростях

2. Алекс уже ответил

3. к PORTB<1:0>,  строку

Enc_state |= PORTB;//Проверяем входные линии

исправить на

Enc_state |= PORTB&((1<<1)|(1<<0)); //Проверяем входные линии

 

Share this post


Link to post
Share on other sites

@IMXO этот вариант тоже надо отработать и выложить. Народ тоже нуждается в энкодерах.

@IMXO может отдельную тему создать и закрепить про энкодеры?

Share this post


Link to post
Share on other sites

зачем ? тема уже давно существует http://forum.cxem.net/index.php?/topic/194645-подключение-и-работа-с-энкодером/ в соответствующем разделе форума, достаточно включить поиск по сайту и получить почти четыре десятка страниц с упоминанием эндкодера, как минимум пять тем где обсуждаются алгоритмы  обработки 

 

23 часа назад, UVV сказал:

программу обработки команд энкодера я спиз... у кого то

этот код тоже самый кейс только написанный через опу с лишними проверками приводящий к увеличению машинного кода

 

Share this post


Link to post
Share on other sites

Конденсаторы Panasonic. Часть 4. Полимеры – номенклатура

В заключительной, четвертой статье из цикла «Конденсаторы Panasonic» рассматриваются основные достоинства и особенности использования конденсаторов этого японского производителя на основе полимерной технологии. Главной конструктивной особенностью таких конденсаторов является полимерный материал, используемый в качестве проводящего слоя. Полимер обеспечивает конденсаторам высокую электрическую проводимость и пониженное эквивалентное сопротивление (ESR). Номинальная емкость и ESR отличается в данном случае высокой стабильностью во всем рабочем диапазоне температур. А повышенная емкость при низком ESR идеальна для решения задач шумоподавления и ограничения токовых паразитных импульсов в широком частотном диапазоне.

Читать статью

да? ну ладно.

вообще надо на 32 pic переходить я его ещё не изучал

Share this post


Link to post
Share on other sites

Есть дисплей 2х16, нужно сделать вольтамперметр на БП с 2мя независимыми каналами. Как это сделать? есть такая идея: допустим 1канал будет гальванически связан  например с  16f873A, на второй канал сделать отдельный измеритель напряжения и тока на 12f675 и связать два контроллера без гальв. связи.

Share this post


Link to post
Share on other sites
                     

STM32G0 - средства противодействия угрозам безопасности

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

Подробнее...

У меня не вопрос, а подсказка для тех, кто напорется на ту же проблему. Поиск может быть выведет сюда.

МК - PIC16F18446 на подарочной демо-плате DM164144. Неделю мучился (в свободное время), не мог получить "эхо" от УАРТа, при этом передача работала. Наконец со злости сделал новый тестовый проект, но теперь уже посредством конфигуратора (МСС). "Эхо" появилось. Начал копаться в МСС конфиге - все примерно как у меня. Одно отличие - вручную я писал на ХС8 версии 1.45, а МСС делал на версии 2.05. Оказалось, что в версии 1.45 адрес RX1DTPPS в заголовке указан 0x1EC9, а в версии 2.05 правильный - 0x1ECB. Это не считая того, что в ДШ он вообще называется RX1PPS.

Вот теперь задумался, а не из-за кривого ли заголовка у меня не завелся 32 kHz кварц на этой плате?!

Share this post


Link to post
Share on other sites

А чем же Вы целую неделю занимались? 

Вроде очевидно, что если нет эха, нужно посмотреть состояние регистра управляющего включением эха и мгновенно обнаружить расхождение имен-адресов в хедере. 

Тем более, что исправить хедер Вы могли самостоятельно. 

Я уже не говорю, что компилятор нужно всегда брать актуальный. Кстати, нынче действует 2.05b.

Share this post


Link to post
Share on other sites
Posted (edited)

У меня нет времени постоянно этим заниматься, это не работа, а хобби, которому не каждый день уделяется. Неделя - это срок с момента обнаружения проблемы и до того, как удалось взяться за неё. В промежутке я только урывками читал ДШ в поисках проблемы у себя в конфиге, не верилось, что могли допустить такую грубую ошибку в адресации такой популярной периферии.

Edited by Zhuk72

Share this post


Link to post
Share on other sites

Ерунду не надо писать. 

Это просто опечатка технического писателя. 

Ее пофиксили в следующей версии компилятора. 

Элементарно обнаруживается через пару минут после включения отладчика... 

Share this post


Link to post
Share on other sites

Марк, спуститесь на землю, здесь тоже люди живут.

Еще раз повторяю: у меня в данное время нет времени и условий заниматься этим хобби даже 20 минут без того, чтоб меня не оторвали на посторонние дела. До этого ни разу я с подобной ошибкой не сталкивался ни на одной чипе PIC, STC, C8051 или STM32. Мне не приходило в голову, что могут выпустить компилятор без проверки хотя бы базовой периферии.

Что касается пары минут... Ну не за пару, но за 20-30 минут (учитывая, что я впервые использовал МСС) я вышел на источник проблемы. Этой платой я начал заниматься еще в марте прошлого года, тогда и вылезла эта проблема. С того времени и до мая этого года было не до МК вообще. После таких перерывов трудно включаться обратно и поневоле возникают сомнения в правильности своих действий. Так что не судите всех по себе.

Уже жалею, что вообще поделился этим наблюдением.

Share this post


Link to post
Share on other sites

Ошибки в хедерах достаточно часты. Иногда их ловит компилятор, иногда нет. 

Зависит от синтаксиса ошибки. 

Это просто надо воспринимать как возможное. 

Share this post


Link to post
Share on other sites

Вопрос по видимости меток в другом файле. Есть проект загрузчика. В файле "memory.s" описаны глобальные метки: (извиняюсь за форматирование, проблемы с кнопкой CODE)

.global _F1, _F2, _F3

_F1:

        mov W0, NVMADRU

      mov W1, NVMADR

 

Далее в файле "main.c" объявлено:

extern   UWORD16   F1 (UWORD16,  UWORD16)

и далее происходит вызов функции

F1 (A, B);

Я вот не пойму, объявление global с подчеркиванием, а функция без него. Как компилятор понимает, что вызывая   F1 (A, B);   нужно перейти на метку _F1    ?

Никак не пойму. Больше в проекте никаких функций F1 (тоже самое и с F2, F3) нет !

         

Share this post


Link to post
Share on other sites

Читаем мануал на XC16 на странице 226:

Quote

Variables or functions declared within a separate assembly file that will be
referenced by any C source file should be declared as global using the assembler
directive.global. External symbols should be preceded by at least one
underscore. The C function main is named _main in assembly and conversely an
assembly symbol _do_something will be referenced in C as do_something.
Undeclared symbols used in assembly files will be treated as externally defined.

 

Share this post


Link to post
Share on other sites

Ребят, прошивал один раз только "аттини" и то лет 6 назад.

Нужно прошить PIC12F629 (что собираю http://cxem.net/mc/mc265.php)

Программатор есть только USBASP V2.0

На компе windows 10.

Тыкните пальцем на инструкцию, в идеале пошаговая инструкция, тогда точно справлюсь. Спасибо.

Share this post


Link to post
Share on other sites
10 часов назад, d19codec сказал:

Тыкните пальцем на инструкцию, в идеале пошаговая инструкция, тогда точно справлюсь.

на рынке/радиомагазине/интернете/ приобретаешь pickit2, pickit3 или pickit4 , устанавливаешь фирменное ПО , подключаешь МК к программатору и заливаешь прошивку. 

Share this post


Link to post
Share on other sites

Всё, спасибо, я просто загуглил что умеет прошивать USBASP V2.0 и сразу понял где я лоханулся.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Reptile
      Доброго времени суток. Пытаюсь восстановить работоспособность колонок Top Device TDE 261/2.1. Колонки не раз ремонтировалась по части УНЧ, при очередном ремонте по ошибке (одинаковые разъемы) с трансформатора было подано переменное питающее напряжение на входы (разъем AUX/MP3) аудиопроцессора PT2313L  (3,10,14 ноги - AGND, R_IN2 L_IN2). В результате чего выгорел сам аудиопроцессор PT2313L. PT2313L был заменен. Но колонка по прежнему не запускается. Как я понял, не запускается сам PT2313L, на его аудиовыходах (ноги 24, 25) сигнала нет. Передняя панель работает: индикация, кнопки, енкодер. Имеется подозрение, что вместе с процессором выгорели линии DATA и/или CLK на MCU, так как MCU и PT2313L соединены по этим линиям напрямую друг с другом. В МК и всей этой цифровой штуке не очень шарю, не знаю, как грамотно проверить работоспособность этой цифровой части, поэтому прошу помощи - Возможно ли какими-либо способами восстановить колонку или уже всё... 
      Из приборов, к сожалению, только мультиметр, осциллограф отсутствует.
      Ниже немного измерений.
      Напряжения на линиях: STD-BY-ждущий режим (в скобках рабочий режим):
      DATA - 2.31В (1.9В).
      CLK - 0.125В (0.135В).
      Сопротивление между выводами:
      CLK_MCU-DATA_MCU - 47 Ом. 
      CLK_MCU/DATA_MCU-GND - около 0.22 Ом и там и там. Звонится в обе стороны.
      Питание MCU 5В, (4.6В STD-BY-ждущий режим, 4.0В рабочий режим и со временем также почему-то может падать до 3.6В)
      MCU - не известен, нет маркировки. 18 Выводов, DIP.
      Ноги MCU, которые удалось опознать:
      1 - DATA
      18 - CLK
      3 - GND (?)
      5 - GND (?)
      ? - они соединены вместе
      14 - VCC
      17 - not used (n/a)
      15, 16 - OSC
      ET6202 - управление индикатором, Control LED drive circuit
      Фото плат (под сполером) и даташиты прилагаются.
      Схемы данных колонок не имеется. Все что удалось найти это схема чуть более старшей модели TDE280/2.1, с данными колонками она мало что общего имеет, лишь общий принцип, узлы довольно сильно отличаются, но прикреплю на всякий, для общей информации.
      PT2313L
      ET6202
      TDE280
       
    • By Илья Говжеев
      Поделитесь опытом , кто уже пробывал из arduino сделать программатор pic? 

    • By Терентенко Андрей
      Добрый день! Имею следующую ситуацию : на базе  PIC16f676  создал приблуду для "управления нештатной магнитолой с руля", а именно  сигнал с руля это 4,8в и в зависимости от нажатой кнопки падает дискретной до 0.8в мк с помощью АЦП отслеживает  на магнитолу паралельно кнопкам кинул оптрони которыми управляет МК. Питание от LM с фильтрующими конденсаторами. При тестових прогонах всё работало как надо (программно реализовано защиту от дребезга аж на 0.1 сек в поисках решений) и в машине  и от штатного БП . Но заметил закономерность сейчас на улице - 2 и при первом запуске минут 5, МК "шумит" несоотвецтвует нажатия на руле кнопке  на магнитоле ! Сигнал с руля смотрел стабильный без дребезга , притом когда тестил вынес магнитолу подключил всё работало гуд но пока устанавливал закручивал она остыла и начинались эти тацы . Кто что подскажет? МК или ЛМ могут так реагировать на температуру ? Прошу прощения у модераторов за повторение теми (может в этом разделе будет актуальней)
    • By Splav
      Речь пойдет о таймере цикличного включения вентиляции гаража.
      Стояла задача обеспечить принудительную вентиляцию гаража.
      Оставлять включенным вентилятор круглые сутки - неоправданно.
      Включать его периодически вручную... Неудобно и лишено смысла.
      Поэтому было решено включать его на определенное время через разные интервалы времени, в зависимости от субъективного восприятия наличия сырости в гараже.
      Вменяемых вариантов в продаже я не нашел.
      Можно, конечно, приобрести на Али программируемый суточный таймер или что-то подобное...
      Да, можно, но мне кажется, что собрать из подручных деталей тоже можно, ну и мозги потренировать.
      За основу был выбран PIC12F675, потому что он у меня был.
      По уму здесь должен стоять PIC12F629, он дешевле, в нем нет АЦП, который в конструкции не используется и отключен.
      Итак.
      Время работы выбрано фиксированным и неизменным - 1 час.
      Время простоя - в зависимости от режима.
      1 час - 2 часа - 3 часа.
      (Изначально я планировал другие задержки: 2-3-5 часов. На практике в моих гаражных условиях эти интервалы оказались слишком большими)
      Индикация осуществляется всего 1 светодиодом.
      Переключение режимов и управление - всего 1 кнопкой.
      Схема:

      Коротко о работе:
      Кнопка.
      Опрос кнопки 10 раз в секунду. Антидребезг и подавление помех 0,3с - 3 опроса подряд кнопка нажата.
      Короткое нажатие на кнопку(от 0,3 до 2 с) - переключение режимов по кругу. 1 - 2 - 3 - OFF - 1 - 2 -  ....
      Длинное нажатие на кнопку (дольше 2 с) - смена состояния реле.
      Если оно было включено - выключается.
      Если было выключено - включается. Интервалы работы реле при этом соответствуют режиму.
      В режиме OFF длинное нажатие ничего не меняет.
      Переключение режима или смена состояния реле происходят при отпускании кнопки.
      Светодиод.
      Индикация режимов светодиодом:
      1 - 1 раз в 2 секунды загорается, если реле не включено. Проблеск света.
            1 раз в 2 секунды гаснет, если реле включено. Проблеск тени.
      2 - 1 раз в секунду загорается, если реле не включено.
            1 раз в секунду гаснет, если реле включено.
      3 - 2 раза в секунду загорается, если реле не включено.
            2 раза в секунду гаснет, если реле включено.
      OFF - загорается раз в 5 секунд. Контроль того, что МК не завис.
      Режимы работы.
      Время работы циклического таймера по режимам:
      1 - 1 час работы / 3 часов отдых. 6/24
      2 - 1 час работы / 2 часа отдых.  8/24
      3 - 1 час работы / 1 часа отдых.  12/24
      Работа.
      При отключении питания, пока не разрядились конденсаторы фильтра, МК отключает все выходы, сохраняет текущие данные в память, ждет 15 сек в таком состоянии и возобновляет работу, если отключение было кратковременным и емкостей фильтра питания хватило.
      Если отключение питания было длительным то, при возобновлении питания, загружает сохраненные данные из памяти и продолжает работу.
      При первом включении, после программирования МК, устройство работает в 1-ом режиме.
      Программа писалась в MPLab X IDE v4.05.
      Прошивка:fan_cycle_timer.hex

      Плата для устройства не разрабатывалась. Все было собрано на макетке.
      В блоке питания использован стандартный трансформатор для монтажа на плату ТПК 2х9V с 2-мя вторичными обмотками на 9В.
      Использовал только одну из них. Вторая - не подключена, в "воздухе"
      Реле - HLS-14F1D-DC12V-C. С обмотка на 12В, и одной группой переключающих контактов на 10А/240VAC.
      Устройство собрано в корпусе щитка для автоматов на 8 модулей. Производитель VIKO.
      Закреплена плата на щиток через резьбовые дистанционные втулки с резьбой М3.
      В качестве вентилятора - вытяжной вентилятор диаметром 125мм ВЕНТС 125С
      Устройство на данный момент отработало в гараже все лето, температура воздуха в тени доходила до 32 градусов.
      Перегревов элементов и зависаний контроллера пока не было.
       
      Несколько фото для общего представления о конструкции.

    • By 2expres
      Окажу услуги по написанию программ для Raspberry PI и прочих одноплатных ПК. Напишу прошивку для микроконтроллеров Microchip 10F, 12F, 16F, 18F. Создание, проектирование схем, разводка печатных плат, подготовка к серийному выпуску Gerber-файлы. 
      Цены на услуги на сайте написание программ для Raspberry PI
  • Сообщения

    • Я понимаю, когда речь идет о качестве, но не о громкости. Представьте себе компьютерные АС, которых не слышно при подключении к встроенной звуковухе. 
    • А вот Вам доброе лицо нашей артистки Марии Кожевниковой (35лет). Матери троих детей. Звезды сериала "Универ". Оцените! Какие чудеса творит косметика. Фото без макияжа и с макияжем.
    • Не, кина не смотрел. Я просто знаю, что простые схемы "от любого пульта" корректно не работают. Для этого мне даже кина не надо показывать. Простые схемы самые нестабильные.
    • это чё очередной ушник ретро при таких позорных мощностях  с такой искажухой  или конструкция для начинающих для развития двигательных навыков паяния плат а там питалово 75 вольтей и укусить может нехило)))))))) ? 2030 таким в руки !)))
    • @tilarids А ты видео смотрел где эта схемка была выложена? Там ведь всё подробно обьясняется что и как.
    • Я говорил лишь за усилитель зенфона согласно исследованиям ссылки, данной ранее. Там чётко указано измеренное Rout 3.2ома и даются рекомендации по наушникам. Читайте ссылку, там всё распедалено. Если найдёте схему и узнаете параметры цап'а то можно делать выводы о качестве звука. Но скажу сразу, что мр3 плейер той же ценовой категории в этом плане на голову выше зенфона. Поймите главное, что данные гаджеты разной специализации. Смартфон играет музыку, фотографирует но недостаточно хорошо как заточенные под это плейер и фотик. С компом такая же хня. Встроенная звуковуха/видюха не даёт того качества как купленная отдельно и установленная в слот. В зенфоне хард поменять нельзя. Маемо шо е. Усё.
    • 36 и 38 кГц для Вас одно и то же ?
  • Покупай!

×
×
  • Create New...