admin

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

2344 posts in this topic

admin    2347

Сайт Паяльник открывает обучающий видеокурс по 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 :

От COKPOWEHEU - Ссылка на пост , Ссылка на github

 

Edited by Alex

Share this post


Link to post
Share on other sites
admin    2347

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

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

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

Edited by admin
Добавлен видеоролик

Share this post


Link to post
Share on other sites
admin    2347

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

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

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

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

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

Edited by admin
Добавлен видеоурок

Share this post


Link to post
Share on other sites

Опорное решение: компоненты для защиты RS-485

Компания Bourns анонсировала новую (4-ю) версию демонстрационной платы для тестирования защиты низковольтных слаботочных цепей от токовых перегрузок и импульсных перенапряжений, в частности, для защиты интерфейса RS-485. Мы собрали для вас всю самую интересную информацию по данной теме на одной странице.

Подробнее...

admin    2347

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

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

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

Edited by admin

Share this post


Link to post
Share on other sites
capicator    4

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

Видео вебинара «Уникальный подход MORNSUN к разработке DC/DC-преобразователей. Что на выходе?»

На сайте КОМПЭЛ доступны материалы вебинара, посвященные последнему поколению DC/DC преобразователей с фиксированным входом R3 от MORNSUN. Вы можете посмотреть видеозапись, ознакомиться с презентацией и ответами на вопросы.

Подробнее...

MoZaKa    0

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

Share this post


Link to post
Share on other sites
capicator    4

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

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

Edited by capicator

Share this post


Link to post
Share on other sites
kobzar    130

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

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
capicator    4

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

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

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

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

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

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

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

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

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

Edited by capicator

Share this post


Link to post
Share on other sites
kobzar    130

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

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

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

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

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

Share this post


Link to post
Share on other sites
mvkarp    3772

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

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

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

Share this post


Link to post
Share on other sites
croc19    22

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

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

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

Share this post


Link to post
Share on other sites
capicator    4

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
kobzar    130

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

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

Share this post


Link to post
Share on other sites
capicator    4

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

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

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

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

Share this post


Link to post
Share on other sites
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)

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

Share this post


Link to post
Share on other sites
hardbar    98

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

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

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

Share this post


Link to post
Share on other sites
MadLor    79

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

Share this post


Link to post
Share on other sites
MadLor    79

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

- подходит? Edited by MadLor

Share this post


Link to post
Share on other sites
kobzar    130

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

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

:)

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

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

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

Share this post


Link to post
Share on other sites
hardbar    98

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

Программа мигания двумя светодиодами. Размер 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) писал я.

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

Edited by hardbar

Share this post


Link to post
Share on other sites

Your content will need to be approved by a moderator

Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By small girl
      Привет, ребят! Кто возьмется написать на С протокол взаимодействия для сети микроконтроллеров. База: STM32 с bluetooth модулем HC-06,- slave. ПК - master?

      За вознаграждение
    • By LegionKC
      Добрый день.
      Экспериментирую с платой TP4056 и MK ATmega8, конкретнее - пытаюсь собрать простенькое зарядное устройство с выводом параметров при зарядке/разрядке на АЦП МК. Для измерения тока нашел ACS712. Думаю, что получится выводить ток при зарядке (т.е. когда идет питание на TP4056 и нагрузка отключена) и при разрядке (питание выключено, нагрузка подключена). Нагрузка - резистор. Возникла проблема с измерением напряжения на АКБ. Вернее, проблема с отсутствием идей как это сделать. Может какую-нибудь схему делителя напряжения нужно сделать? Прошу помочь советом. Схему из пэинта прилагаю.
      Спасибо.
       

    • By Геннадий Быков
      Уважаемые электронщики и им сочувствующие!
      Хочу на даче собрать макет морского маяка в человеческий рост. Но для этого необходима схема управляющая светодиодами. Основное, схема должна иметь независимое питание(Солнечная панель) и быть слаботочной (5-9 вольт). Как вижу я. Маяк ориентировочно высотой 1,50-1,80 м. В маяке, с низу до верха 6 окошек (по одному 5мм светодиоду). И на верху сам маяк из 8-ми 0,5 ваттных светодиодов установленных по кругу. С наступлением темноты, включаются диоды на "1 этаже" и раз в 5-10 минут происходит действие. Диоды поэтажно (снизу вверх) начинают загораться (как будто кто-то поднимается вверх по ступеням) и после загорания самого верхнего окна, через пару секунд, включается маяк. Поочередно по кругу (эффект метеора), со скоростью 2-3 сек на круг, делает оборотов 10 и выключается. Потом в обратной последовательности гасятся окошки (светодиоды) сверху в низ и остаются два нижних, периодически и независимо включающиеся и выключающиеся (эффект присутствия). И вновь через 5-10 минут вышеописанное действие. Буду очень признателен любым советам, ссылкам, помощью. Немного умею паять, немного знаю Ардуино. Готов в разумных пределах спонсировать, разработку и сборку.
    • By Vladislav7
      Добрый день.
       
      Необходимо разработать схему для изготовления печатной платы с установленным микроконтроллером (подобрать подходящий), также подобрать все электронные компоненты и написать программу.
      Цель следующая:
      Необходимо с помощью одного контроллера управлять двумя цепями состоящими из 15 светодиодов (мощность одного = 0,1 Вт) каждая, диоды одноцветные.
      При включении одной кнопки начинает мигать одна цепь. При включении второй - вторая. Возможность одновременного включения кнопок.
      Необходим датчик индикации на кнопке, который будет мигать в такт светодиодной цепи. Принцип кнопки как у аварийной сигнализации.
       
      Спасибо.