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

 

 

 

Помечено: 

В этой теме 34 ответа, 25 участников, последнее обновление  Andrey_47 1 месяц, 1 неделя назад.

Просмотр 5 сообщений - с 31 по 35 (из 35 всего)
  • Автор
    Сообщения
  • #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; является неправильным.

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

  • Автор
    Сообщения
  • #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; является неправильным.

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

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

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