Некорректная работа команды delay на МК

Тема в разделе "Микроконтроллеры AVR", создана пользователем ProvotorOFF, 4 авг 2014.

  1. ProvotorOFF

    ProvotorOFF Нуб

    Здравствуйте, работаю с микроконтроллером atmega 328. Загружаю программы через arduino. Заметил следующие странные вещи:
    1. Складывается впечатление, что в команде delay МК самопроизвольно "добавляет" значащий ноль в аргументе под delay.
    2. Работаю с LCD дисплеем (http://amperka.ru/collection/display/product/text-lcd-20x4). Когда он был соединен с arduino, достаточно быстро изображение на экране обновлялось, чтобы взгляд не заметил смены картинки. На МК же я замечаю, как обновляется изображение на экране.
    Во время загрузки программ использую как плату Arduino BT w/ Atmega 328.
     
  2. Unixon

    Unixon Оракул Модератор

    И как это выглядит?
     
  3. ProvotorOFF

    ProvotorOFF Нуб

    Выглядит конкретно что?
     
  4. Unixon

    Unixon Оракул Модератор

    Из вашего текста совершенно непонятно, что и как конкретно вы делаете и что именно работает "не так".
     
  5. ProvotorOFF

    ProvotorOFF Нуб

    Вот есть функция delay, например функция delay(500) замораживает программу на 500 миллисекунд, но почему-то МК видит delay(500) как delay(5000).
    И второе, вот смотришь, к примеру, телевизор, незаметно же глазу как кадр за кадром меняется, то есть для нас кажется действие непрерывным из-за большой частоты смены кадров. Вот и у меня на дисплее обновление информации менялось плавно, но стоило мне поставить МК вместо ардуины, сразу стало заметно, как исчезает предыдущий текст, небольшая пауза, появляется новый. До этого это происходило очень быстро.
     
  6. Megakoteyka

    Megakoteyka Оракул Модератор

    Фьюзы МК случайно не настроены на внутренний осциллятор 8МГц вместо внешнего 16МГц?
     
    Беженарь Миша нравится это.
  7. Unixon

    Unixon Оракул Модератор

    Там еще CLKDIV8 скорее всего стоит, а 8 раз это почти что десятичный порядок.
     
    Беженарь Миша и Megakoteyka нравится это.
  8. Unixon

    Unixon Оракул Модератор

  9. ProvotorOFF

    ProvotorOFF Нуб

    Про это ничего не могу сказать, если фьюз не так настроен, как изменить это?
     
  10. Unixon

    Unixon Оракул Модератор

    1) http://fusecalc.mirmk.net/
    2) avrdude
     
  11. Megakoteyka

    Megakoteyka Оракул Модератор

    Точно, что-то я с кратностью попутал. Похоже на правду.
     
  12. ProvotorOFF

    ProvotorOFF Нуб

    Можно второй пункт подробнее?
     
  13. Unixon

    Unixon Оракул Модератор

    Это программа для заливки кода в микроконтроллеры AVR, есть в составе Arduino IDE.
    Живет здесь: http://www.nongnu.org/avrdude/
    Она же умеет менять фьюзы.