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

balk

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

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

  • Посещение

Репутация

0 Обычный

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

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

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

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

  1. проверил для интереса C11, C4 - на деле по 100 наноФ
  2. Plain спасибо за ценные замечания! тема о том, что устройство работает от блока питания, пока не возникает необходимость проверить его функционирование через монитор порта. никак не привыкну, что блок питания должен быть включен прежде ,чем подключить юсб. хотя это и логично, я все-равно умудряюсь сделать наоборот, и соответственно тут и начинается свистопляска. жалко пожженных плат, но проблема мне даже интересна.
  3. где ж мне таким нестандартом поживиться? у меня как раз куча блоков 12Вх2А. Ну придется стандартные ардуиновские на 9В пользовать.
  4. на всякий случай я на вновь приобретенных платах сразу его меняю на купленные в чипдипе. экспериментирвать теперь буду с большой острасткой
  5. приведенная в первом посте картинка чуток не такая как у меня, сразу не разглядел. у меня
  6. ну если только в этом дело, то и было бы хорошо. я тут полистал интернет-книгу и у AlexGyver (https://alexgyver.ru/lessons/arduino-power/) вычитал не до конца понятную фразу Важно! На момент подключения к плате USB кабеля для прошивки внешнее питание должно быть подключено, иначе через плату может пойти большой ток то значит ли это, что нельзя подключать к плате внешнее питание, если уже подключено юсб ? спасибо, а есть ли в доступе реальная схема ? посмотрю , что у меня могло быть не так с бутербродом... но для верности, вторую плату я испытывал без навесов, и она так же ушла в аут.
  7. будьте любезны, укажите их я проверял-в плане запитки и операционника соответствует
  8. схема ,надо полагать, такова странный совет полагаете, без такого подключения можно обойтись ?
  9. купил для удешевления конструкции вместо стандартной Arduino UNO R3 на диповском корпусе вот такие платы но столкнулся пока с необъяснимой для меня ситуацией: при подключении внешнего питания 12В и кабеля юсб происходит нагрев и сгорание СH340G,LM1117-5, ну и самого мк . никаких проблем с такой же запиткой на стандартной Arduino UNO R3 нет. подскажите, пожалуйста, что является причиной проблемы.
  10. c инициализацией всё в порядке оказалось. нашёл в подпрограмме работы с таймером ( она участвовала в выводе информации) операцию с INTCON. после правки, всё стало на места. спасибо, уважаемые коллеги, Ваша поддержка очень помогла!
  11. похоже, что подобрался к проблеме обнаружил, что фактически ( на осциллографе) у меня не происходит принятия адреса моим слэйвом -на девятом синхроимпульсе единица. если из цикла ожидания выскочить (например , через кнопку) и попасть на пресловутые 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
  12. спасибо,My504 ! Ободряющее замечание. ляпы свои убрал. тем не менее, пока ничего в голове у меня не проясняется. попробую ещё тщательно всё проверить.
  13. спасибо за ответ. в принципе , я так себе и представляю ситуацию, но , к сожалению, где-то совершаю промах. вот код модуля прерывания. в общем, всё стандартно. ;подпрограмма обработки прерывания 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 ;возврат к ожиданию
  14. не могу сообразить, что не так. есть простое устройство-слэйв на F873a . которое принимает несколько байтов от мастера и выводит их на индикатор. ловля данных происходит по прерыванию. пишу на asme и вроде всё хорошо, но напрягает момент, который не могу себе объяснить. если в основной программе не сделать повторно bsf INTCON,7 ;разрешение всех прерываний bsf INTCON,6 ;разрешение внешних прерываний , то после возвращения из прерывания в основную программу прерывания больше не возникнут. насколько я понимаю, INTCON при прерывании не изменяется, если его не трогать. Пытался этот код вписывать в модуль прерывания перед retfie, но ситуацию это не поменяло. Почему такое происходит ?
  15. про PCLATH вопрос

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