Тут у Вас классическая ошибка синтаксиса. Попробуйте сами найти
Спасибо друг, пол дня убил, в процессе понять почему на всех сайтах работает Led1=0; а у меня нет, думал в этой строчке ошибка(кто его знает чего там в мплабе напридумывали), и компилятор именно на эту строку указывает. Блин, замыленными глазами такую очевидную мелочь как ; легко пропустить.
Осмелюсь попросить помощи у знающих программирование. Нужно проверить рабочий ли PIC16F876, думаю подойдет такое https://learnitstepbystep.blogspot.com/ ... oller.html только там нет НЕХ, может ли кто скомпилировать прошивку, там она есть в исходниках, надо только скомпилировать. Надеюсь на помощь.
К сожалению это не опыт, это называется заездили когда надо выполнить задачу за отведённый лимит времени. СпойлерТри дня и три ночи Ваня корпел над кодом, но ничего не выходило. В отчаянии он обратился к коллеге, который проводил код ревью для его коммита в прошлый раз.
— Прости, но если бы я знал, что не так в твоём коде, я бы твой пул реквест не заапрувил.
— Но ты же написал lgtm в комментарии!
— И теперь мне за это прилетело. Слушай, я уже сто раз пожалел, что помог тебе сюда устроиться. Тимлид просёк, что я сквозь пальцы смотрю на твой код, поэтому сейчас проблемы у нас обоих. В случае чего я найду новую работу, а ты — вряд ли. Так что сейчас у тебя отличный повод подтянуть знания.
— Ладно, разберусь как-нибудь.
Осталось всего два дня, чтобы исправить баг и добавить новую фичу, а у Вани не было почти никаких продвижений. После работы он, как обычно, зашёл в магазин, но вместо энергетиков решил взять пиво, потому что вспомнил о Пике Балмера.
Бессонные ночи и пиво сделали своё дело, поэтому Ваня заснул прямо за компьютером.
Наутро он не сразу понял, что проснулся, и, лёжа лицом на клавиатуре, продолжал слушать разрывающийся будильник. Прошло всего несколько минут, но Ване они показались вечностью.
Ненавидя себя, он поплёлся на работу. Сев за рабочий стол и посмотрев в код, внезапно понял, в чём была ошибка (известно, что многие проблемы в разработке приложений решаются, когда программист спит). Исправив всё за пару минут, он пошёл к тимлиду. источник https://skillbox.ru/media/code/ne_bag_a ... rammistov/
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
Благодарю, все заморгало, нашел битый порт. Жаль остальные не подключены, может еще какой битый. Может поможет кто добавить оставшиеся порты в программу. Получился бы класный тест для 876-го.
Битый порт В0 , тоже 876А , вот теперь копаюсь где найти проверку на оставшиеся порта. Хреново не соображать в программировании. Кстати о разнице, у китайцев есть PIC16F876-20ISO 1,5 доляра и PIC16F876A-I/SO за 5 в чем разница кроме цены?
Зарегистрирован: Вт мар 21, 2017 21:40:20 Сообщений: 157
Рейтинг сообщения:0
Уважаемые коты, начал понемногу изучать программирование PIC, дошёл до таймера, на примере pic16f84a, подскажите пожалуйста, не могу понять что не так с расчётом, вроде всё правильно по времени рассчитал и светодиод должен потухнуть через 4 секунды, но почему то тухнет через 2 секунды, посмотрите пож текст программы где шо не так. Заранее благодарен.
Посмотрел. .... Есть замечания: Если хотите Вам помочь то постарайтесь изложить свой код в удобном виде. 1. Что скривает за собой __CONFIG 3FF2H? Есть принятое представление типа
Код:
__CONFIG _CP_OFF & _FOSC_HS & _MCLRE_OFF
2. Где коментарий? 3. На какой частоте работает МК? 4. Изложение. Есть на сайте тег code
Цитата:
Если вам надо вывести часть кода программы или еще что-нибудь, что должно быть отображено шрифтом фиксированной ширины (Courier), то заключите текст в теги
Код:
. Пример:
Код:
echo "Это код программы";
5. Если сейчас начинаете то, пока, не лезьте в Interrupt. Вот Вам для начало Delay loops.
В старом мплабе когда присваиваешь адрес некой символоной метке, например: МЕТКА EQU 0x11 то эта метка появлялась в окне файловых регистров, по аналогии с именами уже специальных регистров тип TMR0, PORTA и т.д.
В новом же, текущем мплабе присвоенные адресам метки не отображаются в окне файловых регистров.
Потыкал заголовочный файл, попробовал по аналогии сделать как там прописано для специальных регистров #define METKA METKA METKA EQU 0x10
Не помогает. Кто ни будь знает как сделать что бы именованные регистры отображались в мплабе?
Уважаемые коты, начал понемногу изучать программирование PIC, дошёл до таймера, на примере pic16f84a, подскажите пожалуйста, не могу понять что не так с расчётом, вроде всё правильно по времени рассчитал и светодиод должен потухнуть через 4 секунды, но почему то тухнет через 2 секунды, посмотрите пож текст программы где шо не так. Заранее благодарен.
Я тоже начинающий и тоже дошёл до таймера. Но я мигаю им раз в секунду по прерыванию переполнения таймера. Если тебе это поможет, то ниже прикладываю код. pic16f84a работа от внешнего кварца на 32 килогерца. дёргает порт RA4 раз в секунду Порт с открытым коллектором (drain), светодиод с плюса через резистор 1Ком на ножку порта, и всё.
Спойлер
Код:
#include <xc.inc>
CONFIG FOSC = LP ; Oscillator Selection bits(RC oscillator) CONFIG WDTE = OFF ; Watchdog Timer(WDT enabled) CONFIG PWRTE = OFF ; Power - up Timer Enable bit(Power - up Timer is disabled) CONFIG CP = OFF ; Code Protection bit(Code protection disabled)
#define RP0 0x5 #define RA4 0x4 #define T0IF 0x2
psect udata,reloc = 10h SSS_REG SET 0x10
psect code,class=CODE,space=0,delta=2,abs,ovrld res_vec: org 0x000 call init goto $+1 goto $-1 nop int_vec: org 0x004 bcf INTCON,T0IF btfsc SSS_REG,0x0 goto $+4 bsf PORTA,RA4 bsf SSS_REG,0x0 retfie bcf PORTA,RA4 bcf SSS_REG,0x0 retfie init: bcf STATUS,RP0 clrf TMR0 clrf PORTA ; CLEAR PORT A DATA clrf SSS_REG movlw 10100000B movwf INTCON ; SET INTERUPTS bsf STATUS,RP0 ;SELECT BANK 1 clrf TRISA ;SET ALL PORTS OUTPUT MODE movlw 11010011B movwf OPTION_REG ; SET bcf STATUS,RP0 ;SELECT BANK 0 return END
Последний раз редактировалось andrey13 Чт дек 16, 2021 17:10:03, всего редактировалось 4 раз(а).
.....вроде всё правильно по времени рассчитал и светодиод должен потухнуть через 4 секунды, но почему то тухнет через 2 секунды, посмотрите пож текст программы где шо не так.......
частоту будешь использовать 4 мгц? малость подправил....., от начала и до sleep 4 секунды у меня
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения