my504 Опубликовано 30 мая, 2009 Поделиться Опубликовано 30 мая, 2009 После двух строк объявления процессора в листинге, поставьте третьей строкой: errorlevel -302 Мессаги и пропадут... только не забывайте банки менять... 0 戦う前に相手のベルトの色に注目 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexeyslav Опубликовано 30 мая, 2009 Поделиться Опубликовано 30 мая, 2009 Там еще был способ чтобы избавится от предупреждений в отдельно взятом блоке - какими-то директивами, чтобы иметь возможность все-таки отслеживать такие ситуации но не заполнять листинг уже проверенными. 0 Учение - изучение правил. Опыт - изучение исключений. Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
my504 Опубликовано 30 мая, 2009 Поделиться Опубликовано 30 мая, 2009 Это все пустое... Переключение банков - очень редкое событие. Регистры спецназначения так сгруппированы по банкам, что либо они адресуются из обоих, либо доступ к регистру в первом нужен лишь при инициализации контроллера. Доступ к ОЗУ в ненулевом банке либо прозрачен (адреса нулевого дублируются в первом), либо доступ косвенный через FSR, и банки можно не переключать. 0 戦う前に相手のベルトの色に注目 Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
=ShooRooP= Опубликовано 30 мая, 2009 Поделиться Опубликовано 30 мая, 2009 Ну с этим все ясно, вопрос более атуальный. Дело в том что в даташите примера приема символа как такового я не узрел. Есть только инициализация. Вообщем сама структура кода то верна: DataArival btfss PIR1, RCIF ;ждем прихода символа goto DataArival bcf STATUS, Z ;сбросим флаг Z movf RCREG, 0 ;перенесем байт из регистра приемника в аккумулятор xorlw .82 ;сравним принятый байт соотвтетствует ли букве R btfss STATUS, Z goto DataArival bsf PORTA, 2 ;если соответствует то установим 1 на ноге RA2 или как то не так надо, на макете не фурыкает 0 Ничто не умирает так тихо, так быстро и наверняка, как транзистор... Ссылка на комментарий Поделиться на другие сайты Поделиться
=ShooRooP= Опубликовано 2 июня, 2009 Поделиться Опубликовано 2 июня, 2009 Еще проблема с 628. Происходит сброс контроллера. Строка настройки __config _CP_OFF & _HS_OSC & _WDT_OFF & _PWRTE_ON. Mclr подпаян к питанию через резистор + конденсатор на землю, на питании тоже конденсаторы висят... Вообщем ниче не пойму, почему происходит сброс %). Пробовал запитывать через батарейку - та же история. 0 Ничто не умирает так тихо, так быстро и наверняка, как транзистор... Ссылка на комментарий Поделиться на другие сайты Поделиться
my504 Опубликовано 2 июня, 2009 Поделиться Опубликовано 2 июня, 2009 (изменено) 1. Из чего следует, что это сброс? 2. Третья строка в приведенном еще 30 мая коде лишняя и идеологически ОШИБОЧНАЯ. Сбрасывать бит нулевого результата не нужно. Он установится по результату операции. Причем как в 0, так и в 1. А ошибочность (идеологическая, не практическая) в том, что команда movf тоже устанавливает Z. Т.е. если придет нуль (не символ, а вообще все нули в битах), то после перемещения этого нуля в аккумулятор бит статуса Z установится в 1, а если не нуль, то Z сбросится. Так для проверки на нулевое содержимое любого регистра применяют команду movf <reg>,f т.е. перемещение из этого регистра в него же. Изменено 3 июня, 2009 пользователем my504 0 戦う前に相手のベルトの色に注目 Ссылка на комментарий Поделиться на другие сайты Поделиться
aavaks Опубликовано 3 июня, 2009 Поделиться Опубликовано 3 июня, 2009 если придет нуль (не символ, а вообще все нули в битах) все нули это ноль и тоже символ. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
my504 Опубликовано 3 июня, 2009 Поделиться Опубликовано 3 июня, 2009 Естественно нулевой байт это тоже символ, но это не символ "0". Именно это я имел ввиду. Вроде из контекста моего сообщения это должно быть понятно... 0 戦う前に相手のベルトの色に注目 Ссылка на комментарий Поделиться на другие сайты Поделиться
=ShooRooP= Опубликовано 3 июня, 2009 Поделиться Опубликовано 3 июня, 2009 (изменено) 1. Из чего следует, что это сброс?2. Третья строка в приведенном еще 30 мая коде лишняя и идеологически ОШИБОЧНАЯ. 1. Ну судя повсему дело в наводках. Чесно говоря 628 меня ввел в замешательство, т.к. с 84 такого не наблюдалось. Включаю светодиод если плату не трогать руками все хорошо, но стоит прикоснуться к микросхеме или даже просто приблизить к ней палец светодиод гаснет. Ясно что при любом раскладе программа из кольца ожидания сивола "С" выйти немогла (выкл светодиода в программе происходит по приходу символа С). Пробовал менять кварц на 4мгц (вместо 16 мгц), разумеется со всеми програмными настройками, результат тот же. Напрашиваеться вопрос: как с таким пиком работать, помехоутойивость никакая, заключать все в экран? Конечно возможно что я что то не учел или не так сделал но... 2. Насчет сброса флага Z я вкурсе. Ответ почему: мне так удобнее. А вот по поводу команды movf и ее влияния на флаг Z не знал, спс за инфо, возьму на заметку :о) Изменено 3 июня, 2009 пользователем =ShooRooP= 0 Ничто не умирает так тихо, так быстро и наверняка, как транзистор... Ссылка на комментарий Поделиться на другие сайты Поделиться
my504 Опубликовано 3 июня, 2009 Поделиться Опубликовано 3 июня, 2009 Ув. Шуруп, это смешно... Неужели Вы думаете, что серьезная контора выпускает камни с такими "особенностями"? Тысячи и тысячи разработчиков работают с такими камнями (я в том числе) и никогда не сталкиваются с подобным, а если и сталкиваются, то фиксят СВОИ баги... А по поводу "мне так удобнее"... Ну можно вообще лишнего кода настрочить... нопов, пустых пересылок... Должен же быть хоть какой то пусть и сомнительный резон... 0 戦う前に相手のベルトの色に注目 Ссылка на комментарий Поделиться на другие сайты Поделиться
=ShooRooP= Опубликовано 3 июня, 2009 Поделиться Опубликовано 3 июня, 2009 (изменено) Хм, достаточно того сомнительного резона который я озвучил. Одно дело схемки паять дома, другое на производстве когда с пальца на осцилографе амплитуда наводки достигает 10 В. Конторы конторами, а хрень выпускать умеют все. Спорить я здесь ни с кем не собираюсь и доказыватьчто то тоже. Схема включения кроватка и плата от 84го без изменений. Переткнута только микросхема да 2 вывода уходят на макс485. Эффект я озвучил. Изменено 3 июня, 2009 пользователем =ShooRooP= 0 Ничто не умирает так тихо, так быстро и наверняка, как транзистор... Ссылка на комментарий Поделиться на другие сайты Поделиться
my504 Опубликовано 3 июня, 2009 Поделиться Опубликовано 3 июня, 2009 (изменено) А что проку в озвучке дефекта? Если вопрос почему так, то нужно как минимум фото монтажа,схему, конфиг 628-го. Неплохо бы увидеть кусок кода с инициализацией при старте МК. А так... у меня плохо, а было хорошо, значит микрочип халтурщик... наивняк какой то... Изменено 3 июня, 2009 пользователем my504 0 戦う前に相手のベルトの色に注目 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexeyslav Опубликовано 3 июня, 2009 Поделиться Опубликовано 3 июня, 2009 ПРоверить разводку конденсаторов на выводах кварца - они не должна подключатся к проводу по которому идет ток, и желательно как можно ближе к выводу общего провода контроллера. Посмотрите конфигурацию прерываний, возможно прикосновение рукой вызывает прерывания по состоянию порта, а обработчик прерывания не определен - и контроллер якобы производит "сброс", поскольку выполнение программы начнется сначала. Возможно еще разрешен вач-дог, и он срабатывает. Так же стоит проверить какой тип кварца выбран битами конфигурации и какой кварц фактически установлен. 0 Учение - изучение правил. Опыт - изучение исключений. Ссылка на комментарий Поделиться на другие сайты Поделиться
=ShooRooP= Опубликовано 4 июня, 2009 Поделиться Опубликовано 4 июня, 2009 фотка не ахти, мобила всетаки. Весь проект с 2мя мувиками сего процесса приложен. Что значит тип кварца? тип генератора наверно? Строка настройки __config _CP_OFF & _HS_OSC & _WDT_OFF & _PWRTE_ON Пробовал все типы конфигов, в тч и другой кварц на частоту 4мгц результат тот же. Прерывания запрещены. Что такое вач-дог? и как его выключить? Пробовал отключать mclr эффект тот же. Сброс происходит при прикосновении к корпусу в районе 8-9 ноги (если пальцем даже прикасаться не надо, достаточно приблизить палец на 1 см). Прикосновение к кварцу и конденсаторам в т.ч. к к горячим выводам онных контроллер на сбрасывает. проект.rar 0 Ничто не умирает так тихо, так быстро и наверняка, как транзистор... Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexeyslav Опубликовано 4 июня, 2009 Поделиться Опубликовано 4 июня, 2009 Тип кварца, есть несколько типов кварцевых резонаторов - работающих на параллельном или последовательном резонансе. Контроллеры устойчиво работают только с одним из них. В том районе выводов какраз есть вывод прерывания. Поэтому смотри начальную иницилизацию, какие прерывания разрешены от каких устройств, и все неиспользуемые выводы сконфигурируй как ВЫХОД. Попробуй запустить тот же проект в симуляторе МПлаба, поставив точку прерывания в районе иницилизации чтобы отловить момент сброса. И меняй значения на выводах контроллера ... 0 Учение - изучение правил. Опыт - изучение исключений. Ссылка на комментарий Поделиться на другие сайты Поделиться
my504 Опубликовано 4 июня, 2009 Поделиться Опубликовано 4 июня, 2009 (изменено) 1. Земля УЖАСНАЯ. Блокировку перенести на сторону кварца, а еще лучше снизу прямо на ноги земли-питания. 2. Емкости при кварце прямо с кварца на ногу земли МК. ВСЯ зеля должна быть на ноге МК, петля вокруг корпуса сопливым проводом - чистая антенна. 3. Сброс или внутрь или через 1...10 кОм на питание, никакой емкости сброса не нужно. 4 По обратной стороне макетки с земли МК толстым проводом по кратчайшему расстоянию к остальным гальваническисвязанным элементам. И вообще, фронты десяток наносекунд, а вся эта паутина с КМОП входами - идеальный приемник. Разводку делать в натяг проводов с ОБРАТНОЙ стороны. Странно, что это вообще как то работает... PS. Надеюсь PGM заземлен? Изменено 4 июня, 2009 пользователем my504 0 戦う前に相手のベルトの色に注目 Ссылка на комментарий Поделиться на другие сайты Поделиться
=ShooRooP= Опубликовано 5 июня, 2009 Поделиться Опубликовано 5 июня, 2009 (изменено) Результат тот же! Что сие PGM? Изменено 5 июня, 2009 пользователем =ShooRooP= 0 Ничто не умирает так тихо, так быстро и наверняка, как транзистор... Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexeyslav Опубликовано 5 июня, 2009 Поделиться Опубликовано 5 июня, 2009 Вывод контроллера, разрешает переход в режим низковольтного программирования при сбросе. В рабочем режиме влиять ни на что не должен. 0 Учение - изучение правил. Опыт - изучение исключений. Ссылка на комментарий Поделиться на другие сайты Поделиться
DJ_Quake Опубликовано 8 июня, 2009 Поделиться Опубликовано 8 июня, 2009 У меня такой утчняющий влпрос по использованию "Timer1 in Asynchronous Counter Mode". (стр 52 англ . мануала, раздел 7,3, микроконтроллер PIC16F648A) я правильно понимаю, что возможно такое использование этого таймер: на вход поступает , например, цуг из 293 импульсов, которые следуют с периодом повторения 20 наносекунд. и они, поданные на вход МК, будут все до единого сосчитаны, и результат будет помещён в два регистра? иными словами, возможно использование МК как счётчика, работающего на частотах около 50Мгц? В моём предыдущем вопросе была немного другая формулировка, там говорилось про использование прескейлера. В данном случае нужно сосчитать точное число импульсов, которые могут следовать пачками, но нерегулярно, произвольно, скажем так. Вопрос в том, осуществимо ли это без использования внешних микросхем (счётчиков)? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
my504 Опубликовано 9 июня, 2009 Поделиться Опубликовано 9 июня, 2009 (изменено) Так оно и есть. Максимальная частота для счетчика при внешнем счетном входе и асинхронном режиме ограничена аппаратными особенностями КМОП технологии, а не тактовой частотой МК. Только сосчитаны и никуда не помещены (сам счетчик и является этим самым регистром). В 18-х ПИКах старший байт первого таймера для чтения записи недоступен. Вместо него операции обмена производятся со специальным буфером, который синхронизируется со старшим байтом счетчика при чтении -записи младшего байта. Это позволяет устранить неоднозначность при чтении-записи на лету. По поводу нерегулярности импульсов вопрос не очень понятен. Причем тут особенности счетчика? По любому все импульсы будут сосчитаны. Даже в синхронном режиме, только в синхронном частота ограничена. Изменено 9 июня, 2009 пользователем my504 0 戦う前に相手のベルトの色に注目 Ссылка на комментарий Поделиться на другие сайты Поделиться
DJ_Quake Опубликовано 9 июня, 2009 Поделиться Опубликовано 9 июня, 2009 2 my504 Спасибо за ответ. Насчёт импульсов главное - это "Максимальная частота для счетчика при внешнем счетном входе и асинхронном режиме ограничена аппаратными особенностями КМОП технологии, а не тактовой частотой МК." 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Andrey_Ch8 Опубликовано 15 июня, 2009 Поделиться Опубликовано 15 июня, 2009 Здравствуйте, не могу с Mplab разобраться, скачал последнюю версию 8.30, а в самоучителе про старую подробно расписано . Вот поставил в простои программе точки останова, запускаю симуляцию и мне ошибку выдает. Прога рабочая. 0 Не цитируите полностью предыдущее сообщение!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 15 июня, 2009 Поделиться Опубликовано 15 июня, 2009 Сними все БрэкПоинты ( Debugger -> Breakpoints -> кнопка remove all ), там скорее всего есть чтото кроме твоей точки. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Andrey_Ch8 Опубликовано 18 июня, 2009 Поделиться Опубликовано 18 июня, 2009 Разобрался немного, теперь еще вопрос. когда запускаю отладку программы, она должно закольцеваться в одной из подпрограмм, т.к на одном из выводов порта ноль. Но отладка идет строчка- за строчкои всю программу пробегает за один раз, в чем дело? 0 Не цитируите полностью предыдущее сообщение!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
Andrey_Ch8 Опубликовано 18 июня, 2009 Поделиться Опубликовано 18 июня, 2009 Сбросил все настроики "по умолчанию", создал новый проект все заработало, как надо. Еще, кто может обьяснить смысл трех кнопок пошагового исполнения Mplab SIM? стрелка в скобки, стрелка через скобки и стрелка из скобок? Я так думаю это скобки это точки остановки в програме? 0 Не цитируите полностью предыдущее сообщение!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.