Программирование МК AVR

 

 

 

Помечено: 

В этой теме 37 ответов, 28 участников, последнее обновление  Vadim888 2 дн., 18 час. назад.

Просмотр 8 сообщений - с 31 по 38 (из 38 всего)
  • Автор
    Сообщения
  • #17656

    rulot
    Участник

    Добрый день. Сегодня на дворе 2019 год, но по прежнему AVR актуальна, так как эти контроллеры более доступны да и программ под них написано не мало.
    Я понимаю, что уроки по AVR уже давно прошли, но у меня возник вопрос.
    В уроке 21″Управление DS1307 кнопками» при компиляции программного кода выводит ошибку на этот код
    инициализации портов BUTTONDDR &= ~((1<<BUTTONDDR3)|(1<<BUTTONDDR2)|(1<<BUTTONDDR1));// где ножки
    кнопок на вход. В общем типа они не объявлены, хотя в начале программы они продефайнены.
    Решил указать явным образом вот так — BUTTONDDR = 0b00000010;
    BUTTONDDR = 0b00000100;
    BUTTONDDR = 0b00001000;. Почему то только так видит компилятор инициализацию.

    #17668

    juliya
    Участник

    Здравствуйте! Смотрю ваш урок https://www.youtube.com/watch?v=g7d0IUXscOQ&feature=youtu.be Программирование МК AVR. Урок 2. Создание проекта в Atmel Studio. После создания проекта и выбора контроллера Atmega8 на вкладке Project -> Properties -> Tool нет возможности выбрать Simulator, Select debagger/programmer список пустой, и надпись «unsupported tools*device combination». Это для любого контроллера. Подскажите пожалуйста как это исправить? Спасибо!

    #17669

    talich
    Участник

    Проблема может быть в обновлениях win, если под ней работаете. Люди в сети тоже мучаются. У меня 10ка лицензия, студия 7 — стимулятор работает.

    #18149

    AlexMerser
    Участник

    Здравствуйте, нужна помощь в написании дипломной работы на тему: «Разработка индикатора непрерывности цепи заземления специальной аппаратуры». А именно: есть готовый код прошивки микроконтроллера Attiny 13 ( без комментариев) и алгоритм его работы(составлял программист, который уволился и в общем-то связь с ним потеряна). Нужно подробно закомментировать каждую строку кода, чтобы было понятно даже новичку в программировании. Если возьметесь, пишите на почту filatov.alex1996@mail.ru . О цене и сроках готовности договоримся.

    #20092

    Andrey_47
    Участник

    Хочу создать виртуальный порт для того, чтобы выводы из разных реальных портов можно было бы объединить в один виртуальный.

    Решил для начала попробовать с помощью указателей создать переменную, и, чтобы с помощью этой переменной менять значение вывода одного из портов (PORTA0)

    Вот как я это пытался делать:

    #define F_CPU 8000000UL
    #include <avr/io.h>

    int *a;

    int main(void)
    {
    DDRA |= (1<<0);
    a = &PA0;
    *a = 1;

    while (1)
    {
    }
    }

    Разумеется ничего не компилируется, потому что вид записи типа a = &PA0; является неправильным.

    Подскажите пожалуйста как сделать правильный вид записи, чтобы с помощью переменной менять уровень одного из выводов порта??? И, если не сложно, то как потом собрать виртуальный порт из переменных?

    #20855

    oleg76
    Участник

    Добрый день. AVR Урок 23. Собираем часы на DS1307 и LED индикаторе. Часть 6
    Подскажите как через if(clockmode==DAY) ledprint(day*1000,DAY); вывести символы дня недели?

    #20869

    Tester1992
    Участник

    Добрый день, скажите пожалуйста кто мог бы за оплату, помочь сделать 2 контрольных работы (только код и алгоритм) микроконтроллера ATMega48.

    1) Светодиоды включаются по очереди, создавая эффект бегущих огней следующим образом: слева направо, справа налево слева-направо и т.д. После нажатия кнопки SW4 процесс останавливается и начинается сначала через 5 с.

    и

    2) После нажатия на кнопку SW3 («Старт») формируется запрос на прерывание INT1, в результате обработки которого последовательно с интервалом в 2 с происходит включение светодиодов, начиная с LED0 и до LED7, а затем происходит их выключение, в той же последовательности. После нажатия на кнопку SW2 («Стоп») формируется запрос на прерывание INT0, в результате обработки которого выключаются все светодиоды, и процесс их включения останавливается.

    Напишите мне пожалуйста на имел kristine12716@yahoo.com

    Заранее спасибо!

    #21337

    Vadim888
    Участник

    Здравствуйте!

    В 10 уроке Таймеры-счетчики не могу понять код TCCR1B |= (); А именно что обозначают скобки ()??

    То что TCCR1B присваивается результат логического сложения TCCR1B и ( ) это понятно. Непонятно что обозначают скобки ( )?

    Подскажите пожалуйста.

  • Автор
    Сообщения
  • #17656

    rulot
    Участник
    • Оффлайн

    Добрый день. Сегодня на дворе 2019 год, но по прежнему AVR актуальна, так как эти контроллеры более доступны да и программ под них написано не мало.
    Я понимаю, что уроки по AVR уже давно прошли, но у меня возник вопрос.
    В уроке 21″Управление DS1307 кнопками» при компиляции программного кода выводит ошибку на этот код
    инициализации портов BUTTONDDR &= ~((1<<BUTTONDDR3)|(1<<BUTTONDDR2)|(1<<BUTTONDDR1));// где ножки
    кнопок на вход. В общем типа они не объявлены, хотя в начале программы они продефайнены.
    Решил указать явным образом вот так — BUTTONDDR = 0b00000010;
    BUTTONDDR = 0b00000100;
    BUTTONDDR = 0b00001000;. Почему то только так видит компилятор инициализацию.

    #17668

    juliya
    Участник
    • Оффлайн

    Здравствуйте! Смотрю ваш урок https://www.youtube.com/watch?v=g7d0IUXscOQ&feature=youtu.be Программирование МК AVR. Урок 2. Создание проекта в Atmel Studio. После создания проекта и выбора контроллера Atmega8 на вкладке Project -> Properties -> Tool нет возможности выбрать Simulator, Select debagger/programmer список пустой, и надпись «unsupported tools*device combination». Это для любого контроллера. Подскажите пожалуйста как это исправить? Спасибо!

    #17669

    talich
    Участник
    • Оффлайн

    Проблема может быть в обновлениях win, если под ней работаете. Люди в сети тоже мучаются. У меня 10ка лицензия, студия 7 — стимулятор работает.

    #18149

    AlexMerser
    Участник
    • Оффлайн

    Здравствуйте, нужна помощь в написании дипломной работы на тему: «Разработка индикатора непрерывности цепи заземления специальной аппаратуры». А именно: есть готовый код прошивки микроконтроллера Attiny 13 ( без комментариев) и алгоритм его работы(составлял программист, который уволился и в общем-то связь с ним потеряна). Нужно подробно закомментировать каждую строку кода, чтобы было понятно даже новичку в программировании. Если возьметесь, пишите на почту filatov.alex1996@mail.ru . О цене и сроках готовности договоримся.

    #20092

    Andrey_47
    Участник
    • Оффлайн

    Хочу создать виртуальный порт для того, чтобы выводы из разных реальных портов можно было бы объединить в один виртуальный.

    Решил для начала попробовать с помощью указателей создать переменную, и, чтобы с помощью этой переменной менять значение вывода одного из портов (PORTA0)

    Вот как я это пытался делать:

    #define F_CPU 8000000UL
    #include <avr/io.h>

    int *a;

    int main(void)
    {
    DDRA |= (1<<0);
    a = &PA0;
    *a = 1;

    while (1)
    {
    }
    }

    Разумеется ничего не компилируется, потому что вид записи типа a = &PA0; является неправильным.

    Подскажите пожалуйста как сделать правильный вид записи, чтобы с помощью переменной менять уровень одного из выводов порта??? И, если не сложно, то как потом собрать виртуальный порт из переменных?

    #20855

    oleg76
    Участник
    • Оффлайн

    Добрый день. AVR Урок 23. Собираем часы на DS1307 и LED индикаторе. Часть 6
    Подскажите как через if(clockmode==DAY) ledprint(day*1000,DAY); вывести символы дня недели?

    #20869

    Tester1992
    Участник
    • Оффлайн

    Добрый день, скажите пожалуйста кто мог бы за оплату, помочь сделать 2 контрольных работы (только код и алгоритм) микроконтроллера ATMega48.

    1) Светодиоды включаются по очереди, создавая эффект бегущих огней следующим образом: слева направо, справа налево слева-направо и т.д. После нажатия кнопки SW4 процесс останавливается и начинается сначала через 5 с.

    и

    2) После нажатия на кнопку SW3 («Старт») формируется запрос на прерывание INT1, в результате обработки которого последовательно с интервалом в 2 с происходит включение светодиодов, начиная с LED0 и до LED7, а затем происходит их выключение, в той же последовательности. После нажатия на кнопку SW2 («Стоп») формируется запрос на прерывание INT0, в результате обработки которого выключаются все светодиоды, и процесс их включения останавливается.

    Напишите мне пожалуйста на имел kristine12716@yahoo.com

    Заранее спасибо!

    #21337

    Vadim888
    Участник
    • Оффлайн

    Здравствуйте!

    В 10 уроке Таймеры-счетчики не могу понять код TCCR1B |= (); А именно что обозначают скобки ()??

    То что TCCR1B присваивается результат логического сложения TCCR1B и ( ) это понятно. Непонятно что обозначают скобки ( )?

    Подскажите пожалуйста.

Просмотр 8 сообщений - с 31 по 38 (из 38 всего)

Для ответа в этой теме необходимо авторизоваться.