Доброе время суток форумчане.
Столкнулся с такой проблемой.
При заливке Аттини 85 кодом на разной частоте (1 или 8 МГц), коды работают с разной скоростью. То есть, один и тот же код заливаешь с частотой 1 МГц - тормозит, а с - 8МГц - работает нормально. А берешь другой код, на той же самой Аттиньке, работают наоборот: с 1МГц - работает нормально, а с частотой 8 МГц - тормозит.
Почему так происходит?
фьюзы.
Причем здесь низкоуровневые настройки микроконтроллера? Он один и тот же микроконтроллер. Но заливал разные коды. В проге AVRDUDEPROG фьюзы не менял, оставлял “по умолчанию”, так что они были одни и те же.
Тогда, тебе явилось ЧЮДО, с большой буквы.
Может это код из под ИИ, тормозящий по желанию или троллящий пользователя.
- И как же ты задавал частоту 1 или 8 МГц?
- Нет кода - нет ответов.
Зачем нужен вам код? Вопрос больше касается самих принципов программирования, как я это понимаю.
Коды компилировал на Ардуине под нужную Аттиньку, там же задавал и частоту, потом вытаскивал "hex’’ и заливал на Аттиньку с помощью AVRDUDEPROG и программатора (мне так больше нравиться).
Вот поэтому, я и говорил про фьюзы, мало задать частоту в настройках, надо еще и фьюзы правильно прописать. Для этого надо нажать кнопачку “прошить загрущик”, сам он не прошьется, но фьюзы выставятся правильно.
??? Где ???
Пипец! Откуда это берётся?
А при прошивке тиньки программатором фьюзы разве не всегда прошиваются?
В ID ARDUINO можно задать частоту “Clock Source”, странно вы это не знаете.
Да нет тут никаких “принципов”.
Вы на себя со стороны посмотрите - неизвестно какой код с неизвестными настройками иногда тормозит, а иногда нет.
“Почему когда я еду на велосипеде - ветер всегда в лицо, а когда иду под зонтиком - всегда в спину?”
Что можно сказать по такой теме - только то что автор не умеет задавать вопросы.
нет, не прошиваются
еще раз - этого недостаточно для правильной работы программы.Частота должна быть верно настроена в ДВУХ МЕСТАХ.
“странно что вы этого не знаете” (с)
- Давай ты не станешь своего мнения высказывать, если вопрос задаешь?
- Как именно об этой установке узнает МК, если ты прошиваешь не из среды?
- В “ID ADDUINO”? Это что такое?
3.1 Нет ID, есть IDE. Интегрейтед Девелопмент Энвайромент.
3.2 Что такое ARDUINO? Это аббревиатура? Нет? Тогда какого хера прописными?
- Здесь троллей больше чем волшебников.
- Использую программатор AVRISP USBASP STK500 и программу AVRDUDEPROG.
- Виноват, неправильно назвал программу Arduinj IDE. Но именно на ней после компиляции для Attinu 85, я беру файл “hex”.
Когда ты берешь ХЕКС из Ардуино, он у тебя скомпилирован под 1 или 8 МГц.
Но чтобы код работал правильно, в программе AVRDUDEPROG нужно выставить фьюзы, соответственно, под 1 или 8 МГц.
Это две связанные настройки, но они не АВТОМАТИЧЕСКИЕ. Нужно выставить их ОБЕ.
А ты, по твоим же собственным словам,
так чего ж ты удивляешься, что у тебя код не на той частоте работает?
Ну про тупого, вы зря!
Я занимаюсь Ардуино, всего полгода, развлекаюсь на пенсии маленькими проектами для внука. МГУ и Бауманок и меня за плечами нет, хотя и высшее образование. Ардуинки большие по размеру, поэтому и пользуюсь Аттиньками.
А весь остальной ответ могли написать сразу, а не тянуть за хвост. То что, вы написали, это и есть принципы программирования, а не ошибки кода.
Теперь мне понятно, почему и как.
За “тупого” сорри, вырвалось.
Так сразу же непонятно, какую из очевидных (для отвечающего) вещей не понимает спрашивающий.
Тебе это сказали во втором и пятом сообщениях темы.
Как бы странно это не казалось, но спорить с отвечающим на вопрос - верный путь в форумные клоуны. Тебе оно надо?
Никаких данных о настройках фьюзов формат HEX не содержит и твоя ошибка была очевидна с самого начала. Ардуино тут вообще ни при чем.