admin

Видеокурс По Avr-Микроконтроллерам Для Начинающих

2 251 сообщение в этой теме

admin    2 272

Сайт Паяльник открывает обучающий видеокурс по AVR-микроконтроллерам.

В этой теме "обратной связи" будем постепенно добавлять новые видеоролики с нашего канала. Здесь можно задавать вопросы, давать рекомендации, критиковать, оставлять отзывы и пожелания, а также запросы на тему будущих видеоуроков.

Ведет видеокурс наш форумчанин kobzar.

Профиль пользователя на сайте cxem.net. Там же финансовые реквизиты для тех, кто пожелает финансово отблагодарить автора данного видеокурса

Подписка на YouTube канал

Краткий обзор сред разработки для различных микроконтроллеров на сайте: http://cxem.net/software/soft_mcu.php

Внимание начинающим! Перед тем, как задавать вопросы не по теме видеоуроков, прочитать:

Статьи по МК для начинающих

Книга по программированию микроконтроллеров AVR

Также, здесь же на форуме рядом с этой темой смотрите прикрепленные темы: для начинающих, по языку Си и т.д. Все вопросы не по видеокурсу задавайте только там. С этой темы подобные вопросы удаляются

Кракозябры вместо русских букв

Ребята - спешу сообщить что найден метод борьбы с кракозябрами вместо русских символов, при работе с ЖК. Дело в том, что у некоторых из вас, проект создается в кодировке UTF-8, а наша библиотека работает только с ср1251

Фикс:

1.Открываем проект

2. File - Advanced Save Options

3. Вместо кодировки UTF-8 выбираем Cyrillic(Windows) - cp1251

Сохраняем, сохраняем проект - компилируем!

Добавлено 12.01.16 :

Изменённые версии библиотеки lcd_5110 :

От Alex - http://forum.cxem.ne...20#comment-2287906

От COKPOWEHEU - http://forum.cxem.net/index.php?showtopic=136229&st=1840#comment-2373820

Изменено пользователем Alex

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
admin    2 272

Первый видеоурок

Второй видеоурок

Третий видеоурок

Изменено пользователем admin
Добавлен видеоролик

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
admin    2 272

Четвертый видеоурок

Пятый видеоурок

Шестой видеоурок

Файлы к 6-му видеоуроку: LCD_5110.zip

Практика к шестому видеоуроку

Изменено пользователем admin
Добавлен видеоурок

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
admin    2 272

Седьмой видеоурок:

Практика к 7-му уроку:

Восьмой видеоурок:

Изменено пользователем admin

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
capicator    4

Доброго времени суток!

Вы при выборе IDE вы ориентировались в основном на удобство и понятливость в освоение.

Желательно бы еще указать сравнительные данные компилятора студии 6 по размеру выходного файла с остальными.

Ведь это самый важный параметр и ради которого некоторые пренебрегают всякими неудобствами.

Если в студии 6 оптимальность и размер кода занимает второе, третье место то это самый лучший вариант.

Ранее таким продуктом был WinAvr который сейчас вроде как интегрирован в студию.

Читал где то что сегодня функционал в студии по отношению к WinAvr выше, а по компактности и размеру кода хуже чем в последнем WinAvr.Тем более у WinAvr вроде как намечается продолжение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MoZaKa    0

Курс рассчитан на новичков. Размер файла нас, пока, не интересует

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
capicator    4

Курс рассчитан на новичков. Размер файла нас, пока, не интересует

Ну тогда всем надо смотреть в сторону графических IDE и подбирать МК с большим объемом памяти и зачем учить С, там достаточно основ алгоритма.

Изменено пользователем capicator

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kobzar    130

Atmel Studio 6.2 была выбрана и рекомендована для начинающих по следующим критериям:

1. Уроки будут вестись в ней

2. Она бесплатна

3. В отличие от безнадежно устаревшего винавр - проще и понятней в освоении!

4. У нее лучший редактор КОДА! (что для начинающих архиважно)

Провел тест - скомпилил один и тот же код в 4 и 6 студии! В 6 размер оказался на 15 процентов меньше! Не вижу смысла пользоваться устаревшим ПО!

А где же продолжение. Ждемс. Спасибо.

Сегодня будует третий урок переснят - практика! и на неделе 4 с практикой !

Так что не переживайте !

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
capicator    4

Atmel Studio 6.2 была выбрана и рекомендована для начинающих по следующим критериям:

1. Уроки будут вестись в ней

2. Она бесплатна

3. В отличие от безнадежно устаревшего винавр - проще и понятней в освоении!

4. У нее лучший редактор КОДА! (что для начинающих архиважно)

Провел тест - скомпилил один и тот же код в 4 и 6 студии! В 6 размер оказался на 15 процентов меньше! Не вижу смысла пользоваться устаревшим ПО!

По всем пунктам не вижу препятствий и для WinAvr, все относительно....

Пожалуйста, очень прошу сравните код Atmel Studio 6.2 с WinAvr (чтоб без сомнения ).

А то все ни как не решусь что же применять.

Изменено пользователем capicator

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kobzar    130

Выбирайте то что вам удобнее!

Разницы в написанни кода для вас не будет! Но я не собираюсь рассказывать новичкам как изачем править мейк файл, как подключать бибилиотеки, как компилировать и отлаживать проект в ВинАВР!

Я по моему очень подробно обьяснил - использовать ВинАвр нет никакого вобще смысла! Проект развивался, рос - и в каокой-то момент он превратился в avr-toolchain который используется в 4 студии! Сама же ветка ВИнАВР так и осталась без продолжения развития! Там плохой редактор! Нет автокомплита! Нет фолдинга И так далее! Зачем нам с ним мучаться?

Я бы понял если бы вы метались от ИАР к АтмелСутдио --- но между студией от самого производителя и ВиНавр - развите котого и поддержка закончились несколько лет назад.... даже и не знаю что вам сказать!

Если вас не устраивает 6 студия - назовите причины - и используйте 4 !

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mvkarp    3 696

А то все ни как не решусь что же применять.

Если предъявляете жесткие требования к скорости и размеру - только ассемблер. И библиотеки самому писать.

Не вижу смысла в полемике - 4 или 6. ТС сказал 6 - читаем, учимся, задаем вопросы по существу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
croc19    22

Не спорьте попусту. Я понял, что в студии удобнее написание программы и ее отладка.

А если нравится компилятор от WinAvr, так он прикручивается к студии влегкую.

Напоминаю про 2 и 3 уроки. Хочется уже посмотреть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
capicator    4

А то все ни как не решусь что же применять.

Если предъявляете жесткие требования к скорости и размеру - только ассемблер. И библиотеки самому писать.

Не вижу смысла в полемике - 4 или 6. ТС сказал 6 - читаем, учимся, задаем вопросы по существу.

А где вы тут полемику увидели.

Речь вообще то не о номерах версий, а о разных продуктах, это раз.

А два это что не внимательно читаем, а потом не по существу вопросы задаем.

Если всем так хороша 6, то почему бы это не увидеть воочию.

kobraz пожалуйста сделайте сравнение на простом файле мигания светодиода (blink).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kobzar    130

Я не понимаю что вы от меня просите! Какое сравнение вам нужно?

з/ы/ уроки у же у администрации ждем пока их обработают и выложат !

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
capicator    4

Я не понимаю что вы от меня просите! Какое сравнение вам нужно?

з/ы/ уроки у же у администрации ждем пока их обработают и выложат !

Я очень прошу Вас сделать сравнение по размеру кода простой программы (мигание светодиодом)

скомпилированной в Atmel Studio 6.2 и в WinAvr.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kobzar    130

Код

//Atmega8
#define F_CPU 8000000 //в WinAVR без этой строки
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB = 0xFF;
PORTB = 0x00;
   while(1)
   {
    PORTB = 0xFF;
 _delay_ms(1000);
 PORTB = 0x00;
 _delay_ms(1000);
   }
}

Студия

Program Memory Usage : 108 bytes 1,3 % Full

Data Memory Usage : 0 bytes 0,0 % Full

Winavr

Program: 106 bytes (1.3% Full)

(.text + .data + .bootloader)

Data: 0 bytes (0.0% Full)

(.data + .bss + .noinit)

Я надеюсь мне удалось удовлетворить ваше любопытство вместо вас?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hardbar    92

У меня не компилит вот ошибка.

post-171225-0-00621200-1396288594_thumb.jpg

Также не могу изменить Тульчайн. Постоянyо возвращает на AVR 32-bit

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MadLor    67

hardbar, уберите русские буквы из имени проекта/пути к проекту. Заодно убрал бы еще и пробелы. Программа "импортная"... не сильно русский лексикон любит. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kobzar    130

Таки да! Избегайте русских букв в названиях файлов и путях

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MadLor    67

hardbar, а что собственно не устраивает? То, что в Debug->Options an Settings ->ToolChain по Default стоит Atmel AVR 32-bit?

- подходит? Изменено пользователем MadLor

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kobzar    130

а смысл нам от 32 для 8 битного камня? На самом деле можно не менять! В наших уроках разницу мы не заметим!

Данную опцию я задел исключительно для того что бы показать основные настройки программы!

:)

Переснял третий урок - сейчас он на обработке у администрации!

В конце урока домашнее задание - тем кто хочет действительно научиться - рекомендую к выполнению! Читайте гугл ищите примеры - ТВОРИТЕ!

Только самостоятельная работа позволит понять и запомнить материал :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hardbar    92

Вот чисто для сравнения. Никаких нареканий на СИ. Просто кому интересно.

Программа мигания двумя светодиодами. Размер HEX файла 279 байт

#define F_CPU 9600000
#include <avr/io.h>
#include <util/delay.h>



void options_port()
{
DDRB = 0b00001100;
PORTB = 0X00;
}

int main(void)
{
options_port();
while(1)
{
PORTB=0b00001000;
_delay_ms(1000);
PORTB=0b00000100;
_delay_ms(1000);
}
}

Программа вывода чисел от 0 к 9 в сдвиговый регистер. Размер HEX файла 333 байта (не верите проверьте)(завтра покажу видео работы программы в железе)

.include "tn13def.inc"
.list

.def temp=r16
.def temp1=r17
.def tim=r18
.def timer=r19
.def pob=r20
.def sd=r21
.def aa=r22
.def bb=r23
;-----------------------------
.macro outi
ldi sd,@1
out @0,sd
.endm

.cseg
.org 0
rjmp reset

;----------------------------
reset:
cli
outi spl,low(ramend)
outi ddrb,0xff
outi portb,0x00
outi acsr,0x80
outi tccr0b,0x05
ldi timer,255
clr temp1
sei
;------------------------------
main:
clr temp1
Read:
OUTi DDRB, (1<<PB3) | (1<<PB4)




        ldi ZH,High(Array*2)  ;загрузка начального адреса массива
        ldi ZL,Low(Array*2)

        ldi Temp,0            ;прибавление внутр. адреса
        add ZL,Temp1
        adc ZH,Temp

        lpm                   ;загрузка из ПЗУ

         cpi temp1,10
breq main
inc temp1
;=====================================
LDI pob, 8

back1:
       SBRC R0, 0
       RJMP bitset
           ; Установить сегмент в 0 (горит)
           OUTi PORTB,(0<<PB3)|(0<<PB4)
           OUTi PORTB,(1<<PB3)|(0<<PB4)
       RJMP bitunset
       bitset:
           ; Установить сегмент в 1 (погашен)
           OUTi PORTB,(0<<PB3)|(1<<PB4)
           OUTi PORTB,(1<<PB3)|(1<<PB4)
       bitunset:
       LSR R0
       DEC pob
   cpi pob,0
   BRNE back1 
;============================================
rcall wait
rcall wait
rcall wait
rcall wait
rcall wait
rcall wait
rcall wait
rcall wait
rcall wait
rcall wait
rcall wait
rcall wait
rjmp read 
;--------------------------------
wait: ;Все что снизу задержка на таймере.
ldi tim,0
out tcnt0,tim
wt1:
in tim,tcnt0
cp tim,timer
brlo wt1
ret
;-------------------------------------

Array:
.DB   0b00100001, 0b01111101 ; 0, 1
.DB   0b10101000, 0b00111000 ; 2, 3
.DB   0b01110100, 0b00110010 ; 4, 5
.DB   0b00100010, 0b01111001 ; 6, 7
.DB   0b00100000, 0b00110000 ; 8, 9

Программу то есть прошивка (на Asm) писал я.

ЗЫ: прошивка на СИ из видео урока.

Изменено пользователем hardbar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: chip_1
      Для коптера делаем контроллер для автополета на ардуине. Но не можем совладать с калибровкой внешнего компаса. 
      Требуется написать прошивку для контроллера, который бы считал калибровку и выдавал ардуине готовый сигнал.
      Компас классический HMC5983, подключается по I2C. Но при его использовании ближе к югу или северу начинает показания резко менять, получается так называемый "эллипс" а не круг. 
      Контроллер найду, прошью, но с программированием на AVR вообще никак ((.
      В итоге должна получится железка, на входе компас, на выходе готовый сигнал после поправок. И кнопка начала калибровки. Т.е. по ее нажатию, надо крутануть компас вокруг своей оси.
      Проект не коммерческий, для себя, если кто хочет внести свой небольшой вклад, буду очень рад! Спасибо!
      С меня пивасик! )
    • Автор: butterfly193
      Доброго времени суток всем, уважаемые специалисты.
    • Автор: Vlad Zubarev
      Доброго времени суток!  Кто разбирается с Atmega128,  ассемблером и кому не жалко времени,  пожалуйста помогите. 
      Как можно корректировать скорость падения маятника (он должен постеменно набирать скорость падения и плавно замедляться к верхней точке)... Какие данные нужно менять?!  Спасибо! 
      логин маятник 2.zip

    • Автор: Veeeo
      Планирую сделать устройства для поддержания заданной темперетуры воды (равномерно по всему объему)
      Основные компоненты - ТЭН, помпа = бесколлекторный мотор (примерно как аквариумная, только расчитанная на 100 градусов), термодатчик, мозги на ESP8266.
      Плюс светодиоды.
      Схема ниже. Подскажите, пожалуйста, что упустил, какие ошибки. Больше всего смущает управление насосом. Его нужно только включать/выключать, ШИМ не нужен. Как избежать бросков тока при старте?

      Питание нисковольтной части:

      Преобразователь 12V -> 5V тоже думаю взять готовый (на LM2596):

    • Автор: Leonkuban
      Предлагаю услуги по разработке и мелокосерийному изготовлению радиоэлектронной продукции: от ТЗ до готовых изделий.
      Микроконтроллеры (Atmel), аналоговая элетроника (токи до 20А, в том числе с чистой синусоидой на биполярных транзисторах),
      измерительная электроника (слабые и сверхслабые сигналы, аналого-цифровая обработка с фильтрацией с вводом в ЭВМ), цифровая электроника и другое.
      Возможна инструментальная обработка (от лазерной резки до токарно-фрезерных работ, гибка металла, шелкография...) для изделий радиоэлектроники.
      Возможное написание тестовых программ под Atmel  (для запуска изделия).
      Также разработка внешней звуковой техники на основе PCM микросхем фирмы Техас Инструмент (типа внешней звуковой карты под определенные задачи: с микшированием, от микрофоном с фантомным питанием...).
      Возможно изготовление единичных образцов или сигнальных для проверки.
      г. Краснодар leonmezon@mail.ru