Конфликт sd.h и gsm модуля на atmega2560
- Войдите на сайт для отправки комментариев
Ср, 19/01/2022 - 22:21
GSM модуль - Sim800L, подключен к tx2 и rx2 контактам атмеги2560
Sd модуль - обычный китайский - чипселект к 53, остальное 50, 51 и 52
для sd модуля соответственно использую стандартную библиотеку Sd.h
жсм мудуль - через ат команды посредсвом serial3
По отдельности все работает, но как только подключаю Sd.h и инициализирую "SD.begin(53)" начинаются какие то глюки с приемом и отправкой смс и вообще с жсм модулем, ответ от модуля приходит не тот что должен то, пустые смс отправляет вместо нужного итд итп.
В чем может быть причина? И как исправить.
Sim800L, подключен к tx2 и rx2
к tx3 и rx3
В чем может быть причина? И как исправить.
В кривом коде. А исправить - написать правильный.
Если вам не понравился мой ответ - подумайте, как вы задали вопрос.
странно, но вот такой способ инициализации, похоже, избавляет от этой проблемы:
SD.begin();
странно, но вот такой способ инициализации, похоже, избавляет от этой проблемы:
SD.begin();
И это замечательно!
странно, но вот такой способ инициализации, похоже, избавляет от этой проблемы:
SD.begin();
Это надо сюда записать:
И это замечательно!
Ну почти, теперь если вынуть карточку и перезагрузить устройство, начинается вообще какой-то цирк с конями)
Опять жсм модуль перестает нормально работать, а когда приходит пакет от 433 модуля подключенного к прерыванию на пине 2, он вообще зависает, на экране мусор и вочдог перезагружает устройство.
Еще вчера думал что может оперативы не хватает, но вот этот код сейчас показывает 1200
Когда на офф сайте говорят о достаточных 700
при этом если вынуть карту в процессе работы, все продолжает работать как надо
Это надо сюда записать:
рано)
vanila, как вы недогадливы, однако...
Саркастические комментарии не навели вас на мысль, что вы как-то не так вопросы задаете? В частности, какой смысл спрашивать о неправильно работающем коде, не показывая сам код?
vanila, как вы недогадливы, однако...
Саркастические комментарии не навели вас на мысль, что вы как-то не так вопросы задаете? В частности, какой смысл спрашивать о неправильно работающем коде, не показывая сам код?
Да, я вообще не понял, что вы тем хотели сказать.
Вообще весь код полностью надо? там 6,5к строк, если все выкладывать то сомневаюсь что кто то будет в нем разбираться, а если удалить из него все что не затрагивает данная проблема то выходит что конфликтующих сторон у меня 2: sd и жсм модули. ну вот щас еще и радио модуль на прерывание добавился)
и в итоге код sd модуля:
а код gsm модуля сводится к :
Соберите минимальный проект только из СД-карты и GSM модуля - но такой, чтобы он компилировался. Если проблема не ушла - выложите этот код.
Если в маленьклм коде проблем нет - начинайте добавлять обратно другие модули и смотрите, когда проблема вернется...
Да, спасибо.
В результате, судя по всему, как обычно виновником оказался совсем не тот на кого с начало подумали, и я не про свои руки) а про висящее в воздухе прерывание для линии данных радио модуля. Ну и соответственно, видимо, библиотеке сд модуля не нравится хаотичное постоянное его срабатывание .
При этом если подтянуть этот пин, хаотичное срабатывание заканчивается но и данные перестают приниматься.
"смешались в кучу кони, люди..."
Как связана библиотека SD.h и пин радио-модуля?
Совет тот же - соберите минимальный код, демонстрирующий проблему - и выкладывайте.
на счет того, самый ли это минимальный вариант для выявления проблемы - хз, как-то плавающе она проявляется, не сразу.
но в данном виде через некоторое время работы, ардуино зависает.
Это вот чего сейчас было?
Потереть сразу? Пока не началось?
Это вот чего сейчас было?
Потереть сразу? Пока не началось?
а што не так?
как то не так отображается?
У меня все красивенько)
Вы не на тот форум обратились.
Вам сюда https://community.alexgyver.ru/
а што не так?
как то не так отображается?
А Вы правила этого форума читали? Вангую, что - нет.
Не так - нет номеров строк.
У меня все красивенько)
Уже - нет.
Вы не на тот форум обратились.
Вам сюда https://community.alexgyver.ru/
а что есть библа для 433 от этого форума?
Не так - нет номеров строк.
да тут косяк.
а строчки 22 и 193 не подерутся за один и тот же интеррапт?
а что есть библа для 433 от этого форума?
Не знаю. Я разве говорил такое?
Просто все пользователи библиотек gyverХХХ сразу отсылаются на
херпрофильный форум, где по этим библиотекам могут квалифицированно проконсультировать.а что есть библа для 433 от этого форума?
Не знаю. Я разве говорил такое?
Просто все пользователи библиотек gyverХХХ сразу отсылаются на
херпрофильный форум, где по этим библиотекам могут квалифицированно проконсультировать.так если нет бблиотеки для 433 от этого форума или хотябы от офф разработчиков, а их походу нет, то выходит, что что бы я не подключил все буду посылаться на
херправильный форум? ))а строчки 22 и 193 не подерутся за один и тот же интеррапт?
ну хз, вроде не должен, а как это определить?
а в таком виде уже минуту работает не виснет)
вроде ничего особо и не поменял
вроде ничего особо и не поменял
ну как же - строчку 193 с гайверовским tickISR() выкинули, а это уже много
добавил эту строчку в функцию записи в файл - зависло
так если нет бблиотеки для 433 от этого форума или хотябы от офф разработчиков, а их походу нет
ну что за вранье? - как это нет? а RCSwitch.h ?
Вот вам гайд https://robotclass.ru/tutorials/arduino-radio-433mhz/
вроде ничего особо и не поменял
ну как же - строчку 193 с гайверовским tickISR() выкинули, а это уже много
не, я ее зачемто переместил просто
добавил эту строчку в функцию записи в файл - зависло
ВСЕГДА ВЫКЛАДЫВАЙТЕ ПОЛНЫЙ КОД!!!
дык это sui77 какойто, а не arduino-libraries
выходит, что что бы я не подключил все буду посылаться на
херправильный форум? ))Вам же объяснили, что пользователи библиотек тип giverXX получают квалифицированные консультации на профильном форуме. Что-то непонятно?
на данный момент поучается слудующее вот этот код работает, вставлена карта в модуль или нет, все приходит, все записывает жсм отвечает
но если расскоментировать строчки 95 96 97 то при первой же попытке создать папку зависает
зависает при первой попытке создать файл если карту вынуть а если карта вставлена то все работает
дык это sui77 какойто, а не arduino-libraries
зависает при первой попытке создать файл если карту вынуть а если карта вставлена то все работает
Вы пытаетесь создать файл, вынув карту? в своем ли вы уме?
А если вы имеете в виду, что вы вынули карту, потом обратно вставили и содаете файл - то почитайте документацию, библиотека не поддерживает горячую замену карт. Если вы карту вытащили, то при повторном вставлении карты надо инициализировать библиотеку заново.
дык это sui77 какойто, а не arduino-libraries
тогда вранье это вот это)
ну что за вранье? - как это нет? а RCSwitch.h ?
меня то как раз не смущает, что этот немецкий камбоджиец что гайвер. разница не большая.
зависает при первой попытке создать файл если карту вынуть а если карта вставлена то все работает
Вы пытаетесь создать файл, вынув карту? в своем ли вы уме?
А если вы имеете в виду, что вы вынули карту, потом обратно вставили и содаете файл - то почитайте документацию, библиотека не поддерживает горячую замену карт. Если вы карту вытащили, то при повторном вставлении карты надо инициализировать библиотеку заново.
карта вынута, стартую все заново
так эта функция должна вернуть false если каталог не создался.
это вообще должно быть штатной ситуацией, когда нет карты а я чегото туда попытася записать. и что то мне подсказывает что я не один такой не в своем уме, а тем я таких не видел)
инициализировать занового понятно, но не зависнуть же нафик дожна?)
тогда вранье это вот это)
Вы уже настолько прокачали свой уровень, что можете квалифицированно оценивать качество библиотек?
тогда вранье это вот это)
Вы уже настолько прокачали свой уровень, что можете квалифицированно оценивать качество библиотек?
отнюдь.
но читать и понимать написанное я все еще не разучился)
карта вынута, стартую все заново
так эта функция должна вернуть false если каталог не создался.
это вообще должно быть штатной ситуацией, когда нет карты а я чегото туда попытася записать. и что то мне подсказывает что я не один такой не в своем уме, а тем я таких не видел)
инициализировать занового понятно, но не зависнуть же нафик дожна?)
значит версия о влиянии радио на СД-карту уже отставлена? - тогда сделайте скетч с одной только сдкартой и проверьте
Вот вам гайд https://robotclass.ru/tutorials/arduino-radio-433mhz/
пробежался немного, у гайвера она конечно поудобнее)
а эта на аттини85 заведется?
если в ближайшее время проблема не решится попробую с этой библиотекой переписать
пробежался немного, у гайвера она конечно поудобнее)
вас никто не заставляет отказывать от гайвера. Только вопросы тогда будете задавать у него на форуме. (оно может и к лучшему...)
пробежался немного, у гайвера она конечно поудобнее)
вас никто не заставляет отказывать от гайвера. Только вопросы тогда будете задавать у него на форуме. (оно может и к лучшему...)
а если та не заработает, то к камбоджийцу, понял)
а если эта не заработает, то к камбоджийцу, понял)
вообще стоит научиться решать проблемы самостоятельно. Смотрите - вся помощь на форуме пока свелась к весьма банальным советам - уменьшить скетч и локализовать ошибку. Вы сами до этого не додумались? в следующий раз старайтесь определить причины бага сами, а не бегите сразу на форум.
а если эта не заработает, то к камбоджийцу, понял)
вообще стоит научиться решать проблемы самостоятельно. Смотрите - вся помощь на форуме пока свелась к весьма банальным советам - уменьшить скетч и локализовать ошибку. Вы сами до этого не додумались? в следующий раз старайтесь определить причины бага сами, а не бегите сразу на форум.
обычно так и поступаю, гораздо быстрей выходит, и корма для любителей почесать свое чсв поменьше выйдет, тем более что какая бы рандомная супер редкая фигная у тебя не случилась об этом уже кто то интересовался на какомнибудь форуме)
но в данном случае я погуглил и меня смутили сообщения на забугорных форумах о том что, то дешевый модуль ногу свою не поднимает, то конфликты с спиай у разных устройствах на меге при стандартной библиогтеке сд, то памяти не хвататет, то коменты в этой библе что на меге используйте софтверный спиай и еще что то там было по похожей проблеме. Но т.к с анлийским у меня не очень, доконца понять что они там пишут у меня не получилось.
а на контрл-а + делит и все заново, еще решиться надо, вот вы меня и подтолкнули, уже какая никакая а польза)
ну так что, продолжим? - если оставить в скетче ТОЛЬКО СД-карт - виснет при создании каталога без карты?