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

balk

Участник
  • Постов

    36
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о balk

  • Звание
    Участник
    Участник

Посетители профиля

864 просмотра профиля
  • my504

  1. где ж мне таким нестандартом поживиться? у меня как раз куча блоков 12Вх2А. Ну придется стандартные ардуиновские на 9В пользовать.
  2. на всякий случай я на вновь приобретенных платах сразу его меняю на купленные в чипдипе. экспериментирвать теперь буду с большой острасткой
  3. приведенная в первом посте картинка чуток не такая как у меня, сразу не разглядел. у меня
  4. ну если только в этом дело, то и было бы хорошо. я тут полистал интернет-книгу и у AlexGyver (https://alexgyver.ru/lessons/arduino-power/) вычитал не до конца понятную фразу Важно! На момент подключения к плате USB кабеля для прошивки внешнее питание должно быть подключено, иначе через плату может пойти большой ток то значит ли это, что нельзя подключать к плате внешнее питание, если уже подключено юсб ? спасибо, а есть ли в доступе реальная схема ? посмотрю , что у меня могло быть не так с бутербродом... но для верности, вторую плату я испытывал без навесов, и она так же ушла в аут.
  5. будьте любезны, укажите их я проверял-в плане запитки и операционника соответствует
  6. схема ,надо полагать, такова странный совет полагаете, без такого подключения можно обойтись ?
  7. купил для удешевления конструкции вместо стандартной Arduino UNO R3 на диповском корпусе вот такие платы но столкнулся пока с необъяснимой для меня ситуацией: при подключении внешнего питания 12В и кабеля юсб происходит нагрев и сгорание СH340G,LM1117-5, ну и самого мк . никаких проблем с такой же запиткой на стандартной Arduino UNO R3 нет. подскажите, пожалуйста, что является причиной проблемы.
  8. c инициализацией всё в порядке оказалось. нашёл в подпрограмме работы с таймером ( она участвовала в выводе информации) операцию с INTCON. после правки, всё стало на места. спасибо, уважаемые коллеги, Ваша поддержка очень помогла!
  9. похоже, что подобрался к проблеме обнаружил, что фактически ( на осциллографе) у меня не происходит принятия адреса моим слэйвом -на девятом синхроимпульсе единица. если из цикла ожидания выскочить (например , через кнопку) и попасть на пресловутые bsf GIE и PEIE, то мой слэйв оживает и начинает отвечать на адрес и принимать данные. получается , косяк в инициализации модуля ? вот код инициализации . не понимаю, что не так BANKSEL TRISC movlw b'00011111' ;RC1-RC0 -входы генератора TMR1 ;RC2 -кнопка ;RC3-RC4 -I2C movwf TRISC ;------настройка I2C --------- BANKSEL SSPCON movlw 0x36 movwf SSPCON ;установка слэйв-режима BANKSEL SSPADD movlw 0x18 movwf SSPADD; устанавливаем адрес слэйва clrf SSPSTAT ;-----настройка прерываний---------------- bsf INTCON,GIE bsf INTCON,PEIE BANKSEL PIE1 bsf PIE1,SSPIE
  10. спасибо,My504 ! Ободряющее замечание. ляпы свои убрал. тем не менее, пока ничего в голове у меня не проясняется. попробую ещё тщательно всё проверить.
  11. спасибо за ответ. в принципе , я так себе и представляю ситуацию, но , к сожалению, где-то совершаю промах. вот код модуля прерывания. в общем, всё стандартно. ;подпрограмма обработки прерывания int_SSP ;org 0x04 movf STATUS,W movwf _STAT ;сохранение статуса BANKSEL PIE1 bcf PIE1,SSPIE ;запрет прерываний BANKSEL PIR1 bcf PIR1,SSPIF ;сбросить бит прерывания от SSP BANKSEL SSPSTAT movf SSPSTAT,W ; SMP CKE D/#A P S R/#W UA BF andlw b'00101101' ;маска проверяемых битоа BANKSEL TEMP_RG movwf TEMP_RG test1 movlw 0x29 xorwf TEMP_RG,W btfss STATUS,Z ;DATA ? goto test2 StateDSWB BANKSEL SSPBUF movf SSPBUF,W movwf INDF incf FSR,F goto out test2 movlw 0x09 xorwf TEMP_RG,W btfss STATUS,Z ;ADDRESS ? goto out StateAB BANKSEL SSPBUF movf SSPBUF,W out BANKSEL PIE1 bsf PIE1,SSPIE movf _STAT,W movwf STATUS retfie для того, чтоб разобраться в ситуации, я основной модуль упростил . в итоге он выглядит не совсем реалистичным ( момент прерывания я задаю вручную, осуществляя посылку от другого устройства по i2c), но мне важно понять проблему. в пустом цикле жду прерывания. по нажатию кнопки, осуществляется некий вывод из буфера ( не показано). затем возврат. так вот без установки пресловутых GIE,PEIE почему-то дальнейшие прерывания не наблюдаются. ; .............................. clrf SSPSTAT bsf INTCON,GIE ;разрешение прерываний bsf INTCON,PEIE ;разрешение внешних прерываний BANKSEL PIE1 bsf PIE1,SSPIE wait_int ; ожидаем прерывания по i2с key_down BANKSEL PORTC ;ожидание нажатия кнопки btfsc PORTC,2 goto key_down key_up btfss PORTC,2 goto key_up VYVOD ;вывод информации ;...................... bsf INTCON,GIE ;без этих двух строк не будет прерывания bsf INTCON,PEIE ; goto `wait_int ;возврат к ожиданию
  12. не могу сообразить, что не так. есть простое устройство-слэйв на F873a . которое принимает несколько байтов от мастера и выводит их на индикатор. ловля данных происходит по прерыванию. пишу на asme и вроде всё хорошо, но напрягает момент, который не могу себе объяснить. если в основной программе не сделать повторно bsf INTCON,7 ;разрешение всех прерываний bsf INTCON,6 ;разрешение внешних прерываний , то после возвращения из прерывания в основную программу прерывания больше не возникнут. насколько я понимаю, INTCON при прерывании не изменяется, если его не трогать. Пытался этот код вписывать в модуль прерывания перед retfie, но ситуацию это не поменяло. Почему такое происходит ?
  13. про PCLATH вопрос

    спасибо Smen приятно получить развернутый ответ с изложением тонких мест.
  14. про PCLATH вопрос

    да, но я имел ввиду краткость кода при том же времени исполнения, к тому же оставляю за скобками команды, которые нужно внедрить для манипуляций с аккумулятором. Извините, здесь, должен признаться, не чувствую разницы. Был бы признателен за разъяснения и мне кажется в этом контексте уместней говорить не "загружается", а читается
  15. про MPLAB SIM вопрос

    PGD , PGC не пересекаются с D+/- , но мне это пока не нужно , поскольку хочу отработать только некоторые прерывания в коде на голом виртуальном симуляторе. Можно и продолжить разбираться . В смежной теме.
×
×
  • Создать...