Jump to content
admin

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

Recommended Posts

Уверен!

... не дает нам права говорить о компиляторе 6 студии как о ВинАВР

Тогда откройте секрет, какой компилятор используется в 6-й студии? А линкер? WinAvr - пакет программ, добрая половина из которых по прежнему используется. Поменялась только морда.

Хватит уже мусолить безсмысленную тему! ВинаВР прекрасный проект - и если он опять будет развиваться и поддерживаться может быть я перейду на него! Но на сей момент пользоваться ПО остановившем своей развитие 4 года назад в сфере где развитие идет семимильными шагами - это не самый разумный подход!

Единственное (помимо отладки) различие между новой студией и "ПО остановившем своей развитие 4 года назад" -это редактор кода. Странно, что человек пишущий уроки этого не понимает

Edited by Goodefine

Share this post


Link to post
Share on other sites
Единственное (помимо отладки) различие между новой студией и "ПО остановившем своей развитие 4 года назад" -это редактор кода. Странно, что человек пишущий уроки этого не понимает

1.Вы сравниваете компиляторы - я продукт в целом

2. Вы профессиональный радио мастер - я АТишник

3. Я пишу уроки не по теме сравнения IDE

Странно что человек делающий такие заключения не понимает разницу между продуктом и форком!

Может для радиолюбителя OpenOffice и LibreOffice - это одно и тоже - но для айтишника два принципиально разных продукта использующих разное АПИ и так далее :)

Тоже самое и касаемо компилятора Винавр и того что на его основе в студии! Да у них даже версии библиотек разные !!!

В Вазе есть двигатель и в бентли есть двигатель! И то и то машина - но согласитесь - разница более чем на лицо!

Share this post


Link to post
Share on other sites

Вебинар STM32G0 – новый лидер бюджетных 32-битных микроконтроллеров от STMicroelectronics

Компания Компэл приглашает вас 25 сентября принять участие в вебинаре, который посвящен новому семейству микроконтроллеров STM32G0. Вебинар рассчитан на технических специалистов и тех, кто хорошо знаком с семейством STM32. На вебинаре будут освоены современные методы тестирования производительности микроконтроллеров на примере самых бюджетных 32-битных семейств общего назначения STM32G0 и STM32F0 и проведено их подробное сравнение.

Подробнее

Господа оппоненты!

Мне до фонаря, что там у вас на уме и какие мелочи вас всех интресуют. Мне предложили курс, я хочу им пользоваться.

У кого есть иное мнение, откройте свои темы. Не нравится открывать свои темы - купите гусей и ..бите им мозг. Гусь большой, выдержит.

А здесь - пожалуйста, не мешайте. Дайте ссылки на ваши темы - типа "Atmel Studio 6.2 vs WinAvr" - будем там полемику разводить.

Share this post


Link to post
Share on other sites
                     

Литиевые батарейки Fanso в беспроводных датчиках пожарно-охранной сигнализации

Выбор подходящего элемента питания, способного обеспечивать требуемый уровень напряжения и выдавать необходимый ток на протяжении всего периода эксплуатации беспроводной пожарно-охранной системы является одной из первостепенных задач. Наиболее подходящим для этих целей элементом являются литий-тионилхлоридные элементы питания, а одним из наиболее конкурентоспособных производителей – компания Fanso, предлагающая своим клиентам продукты как универсальные, так и разработанные специально для решения конкретных задач.

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

Странно, что человек пишущий уроки этого не понимает

Странно, что человек НЕ ПИШУЩИЙ уроки, не понимает, что мешает

спорами не о чем. Начните свои уроки програмирования на WinAvr

в другой теме.

Share this post


Link to post
Share on other sites

1.Вы сравниваете компиляторы - я продукт в целом

Сравнивайте корректно, не надо превращать WinAvr в @aвно мамонта, якобы забытое. Atmel просто купил лицензию у Билла на студию и прикрутил к ней два тулчейна, с одинаковым компилятором.

Оба на основе пакета WinAvr. В этом смысле 6 ничем не отличается от 4.

2. Вы профессиональный радио мастер...

Кто вам такое сказал (про меня)?

3. Я пишу уроки не по теме сравнения IDE

Тем не менее, затрагиваете в уроках эту тему. Вы сами просили критики, не обижайтесь, но вопрос выбора инструментария местами звучит как ересь. По основной теме курса - поверьте, я знаю предмет (и материал и педагогические методы) достаточно, чтобы сказать что уроки далеки от идеала. Только ведь критику вы слушать не любите..

Странно...

Главное в ide для программирования - это компилятор (самая интеллектуальноемкая часть), оттестированный и отлаженный.Это годы труда большого community. Остальное - мишура и красивости. IDE практически всегда бесплатна, а вот компиляторы, тем более хорошие, практически всегда стоят денег.

Странно, что человек НЕ ПИШУЩИЙ уроки, не понимает, что мешает

спорами не о чем.

Ежели тут тема не о для того, чтобы сделать курс лучше и указывать на явные неточности, а для того чтобы петь оды, ну тогда извините..

Share this post


Link to post
Share on other sites

Я пока вижу только претензии и пустые споры. Конкретных и корректных замечаний, анализа, предложений нет.

Share this post


Link to post
Share on other sites

Суть вопроса что

Goodefine

Не понимает в чем разница у версий GCC и сопутствующих библиотек в компиляторе WinAVR и Том что используется в 6 Студии.

И таки ДА Компилятор ВинаВР авно мамонта! Ибо за 4 года производитель камней атмела не сидел сложа руки - и проделал колосальную работу!

Я не знаю какую вам аналогию привести! Например Алмаз и Брильянт! Брильянт ето обработанный алмаз! И то и то минерал на одной основе! Но на практике абсолютно разные вещи по цене и виду!

Я очень даже ЗА! критики и споров! Если они аргументированны! Я пока вижу только ваши заявления что вы суперпрофессионал! но при етом не вижу доказательство что компиляторы одинаковы - потому что их нет!

И не путайте пожалуйста начинающих - IDE это среда разработки а не обвес к компилятору и от качества ИДЕ зависит удобство и скорость разработки! А вот ИДЕ позволяет уже использовать разные компиляторы! Вы запустались сами и путаете людей!

Share this post


Link to post
Share on other sites
Главное в ide для программирования - это компилятор

Goodefine

Вы или не читаете или не понимаете. Обе программы представляют собой сборник

утилит для написания программ для AVR. Компилятор у них общий.

http://ru.wikipedia....iler_Collection

Сначала почитайте, потом доказывайте.

Edited by croc19

Share this post


Link to post
Share on other sites

Вот не поленился

Гудефайн - открой документ и почитай в какой версии студии какая версия гцц и тулчейнов использована

http://www.atmel.com/Images/AStudio62betaReadme.pdf

Потом сравни в той что в последней версией в винавр!

Если не поймешь в чем разница то я уже не знаю как обьяснить :)

Share this post


Link to post
Share on other sites

Кобраз, снимай дальше. На ютубе куча просмотров. Значит тема востребована.

Share this post


Link to post
Share on other sites

Та я и снимаю. но тему таки надо почистить - подозреваю что есть вопросы по домашке - а вот споры надо выносить в холивары

Share this post


Link to post
Share on other sites

Kobzar вы же куратор темы по удаляйте все лишние посты( споры и прочие). И только выкладывать видео и фото того что мы сделали по уроках и того что поможет новичкам.

Share this post


Link to post
Share on other sites

Кобраз, версии 4.3.3 против 4.8.1 - если вы думаете что это столь существенно...

Share this post


Link to post
Share on other sites

Kobzar вы же куратор темы по удаляйте все лишние посты( споры и прочие). И только выкладывать видео и фото того что мы сделали по уроках и того что поможет новичкам.

ООО а так можно???? у меня нет прав на удаление!!!!

Кобраз, версии 4.3.3 против 4.8.1 - если вы думаете что это столь существенно...

Это признание поражения ? :vava:

Это только версию гцц вы посмотрели а еще есть куча завтсимых либ! Неужели вы думаете что за 4 года атмел ничего не делал с компилятором а только переносил его от версии к версии? :)

Share this post


Link to post
Share on other sites

Это признание поражения ? :vava:

Никак нет ) . Это просто другая точка зрения. Что есть первично, что вторично, что есть важно, а что нет

Share this post


Link to post
Share on other sites

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

Профессионалам советую идти писать в блокноте сразу HEX файл, если "наш" компилятор вас не устраивает.

Share this post


Link to post
Share on other sites

Только сейчас добрался до вашего урока, и вопрос такой, почему бы не написать код проще? Например так:

while(1) {
PORTC = ~PORTC;
_delay_ms(1000);
}

Вы же сами говорили про прозрачность кода.

И по циклу, в цикле не обязательно должна быть единица, в цикле должно быть истинное выражение или число больше ноля.

Edited by i_ninja

Share this post


Link to post
Share on other sites

Потому что уроки для начинающих!

Им бы понять общий принцып! А такая запись не очевидна!

Вот как раз в 4 уроке у нас идет регистровый сдвиг - там будет рассказано про И НЕ ИЛИ и соответственно знаки будут показаны и как с ними работать!

Тогда уже будет можно!

Share this post


Link to post
Share on other sites

Господа прошу сильно не пинать :) Я только изучаю программирование МК.

Спасибо Вам kobraz за уроки!

Можно в эту тему скидывать код домашнего задания?

***********************************************************************

Знаю что код можно написать более компактно и более производительным (Я ТОЛЬКО НАЧАЛ ИЗУЧАТЬ)

Все конструктивные замечания приветствуются.

В ПРОТЕУСЕ все работает.

Порт С занял 6 ножек вместо 7-ми

PC6 занята и не заработала у меня

***********************************************************************

//Atmega8A
#define F_CPU 8000000
#include <avr/io.h>
#include <util/delay.h>
#include <stdlib.h>
//Предварительная настройка портов
void preset()
{
DDRB = 0xFF; //PORTB настроен на выход
DDRC = 0xFF; //PORTC настроен на выход
DDRD = 0xFF; //PORTD настроен на выход
PORTB = 0x00; //По умолчанию PORTB отключен
PORTC = 0x00; //По умолчанию PORTC отключен
PORTD = 0x00; //По умолчанию PORTD отключен
}

int main(void)
{
preset(); //Предварительная настройка портов
while(1)
{
	int rnd_PORT = rand() % 4;//Генерируем число от 1-3
//Выбираем порт на основании сгенерированного числа
switch (rnd_PORT)
{
case 1:
//Подать сигнал на PORTB
PORTB = 0xFF;
//Выдержать паузу - 1 секунда
_delay_ms(1000);
//Убрать сигнал
PORTB = 0x00;
//Выдержать паузу - 1 секунда
_delay_ms(1000);
break;
case 2:
//Подать сигнал на PORTC
PORTC = 0xFF;
//Выдержать паузу - 1 секунда
_delay_ms(1000);
//Убрать сигнал
PORTC = 0x00;
//Выдержать паузу - 1 секунда
_delay_ms(1000);
break;
case 3:
//Подать сигнал на PORTD
PORTD = 0xFF;
//Выдержать паузу - 1 секунда
_delay_ms(1000);
//Убрать сигнал
PORTD = 0x00;
//Выдержать паузу - 1 секунда
_delay_ms(1000);
break;
default:
break;

}

}
}

***********************************************************************

Edited by admin

Share this post


Link to post
Share on other sites

В целом не плохо! есть более изящные методы - но мы пока их трогать не будем - в вашем коде например можно в кейсе оставить только выбор портов а задержку сделать общуу после выбора порта сократив тем самым количество строк :)

А вобще - вы написали код который в случайном порядке зажигает на 1 секунду какой либо из портов....

Даю наводку

А что если вы случайные числа примените не к выбору порта а к времени свечения от 1 до 2 секунд например?

;)

Edited by kobraz

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji 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 Вячеслав_НС
      Здравствуйте ! подскажите , какую лучше библиотеку использовать (и где ее взять) для управления i2c atmega8 в atmel studio 7  .  задача - управлять atmega8 по i2c ,  цап  PCF8591T .
      понимаю , в интернете много примеров и библиотек , но хотелось бы пример максимально простой и точно рабочий . т.к. пока что все мои попытки не привели к успеху ... то Atmel Studio 7 при компиляции ругается на несуществующий файл ( к примеру - "stream.h") при использовании библиотеки i2c , то еще какие то грабли .
    • By Sofia Vin
      Предлагаем проектную работу в Москве:
      Микроконтроллер STM32F103.
        
      Есть встроенный код с использованием функций библиотеки FreeRTOS, код имеет описанный протокол для связи с внешним миром.
        
      Необходимо проводить доработку кода под задачи программиста верхнего уровня и его тестирование в составе оборудования. 
      Работа в лаборатории (м.Университет) и удаленно. 
      Оплата по договоренности.
      Если Вы обладаете опытом схемотехнического проектирования и программирования микроконтроллеров, и Вас заинтересовала данная возможность, ждем Ваши отклики по контактным данным:
      8 (925) 023-60-02   Алексей
      E-mail: nassa@marathon.ru
       
    • By Антон Плюшкин
      В общем есть небольшая тривиальная задача - сделать свитюльку. Контроллер управляет светодиодиками, цвета меняются, людишки довольны.
      Схема проста: Attiny44a -> 2n3904 x3 -> RGB-светодиод.
      Собрал, протестил, всё норм, но!
      Как только в коде я использую функцию задержки - _delay_ms (util/delay.h) - контроллер повисает!
      #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { // Input/Output Ports initialization // Port A initialization // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(1<<DDA7) | (1<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0); // State: Bit7=0 Bit6=0 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); // Port B initialization // Function: Bit3=In Bit2=Out Bit1=In Bit0=In DDRB=(0<<DDB3) | (1<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit3=T Bit2=0 Bit1=T Bit0=T PORTB=(0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Phase correct PWM top=0xFF // OC0A output: Non-Inverted PWM // OC0B output: Non-Inverted PWM // Timer Period: 0,031875 ms // Output Pulse(s): // OC0A Period: 0,031875 ms Width: 0 us // OC0B Period: 0,031875 ms Width: 0 us TCCR0A=(1<<COM0A1) | (0<<COM0A0) | (1<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (1<<WGM00); TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (1<<CS00); TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Ph. correct PWM top=0x00FF // OC1A output: Non-Inverted PWM // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer Period: 0,031875 ms // Output Pulse(s): // OC1A Period: 0,031875 ms Width: 0 us // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(1<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (1<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (1<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 0 Interrupt(s) initialization TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0); // Timer/Counter 1 Interrupt(s) initialization TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1); // External Interrupt(s) initialization // INT0: Off // Interrupt on any change on pins PCINT0-7: Off // Interrupt on any change on pins PCINT8-11: Off MCUCR=(0<<ISC01) | (0<<ISC00); GIMSK=(0<<INT0) | (0<<PCIE1) | (0<<PCIE0); // USI initialization // Mode: Disabled // Clock source: Register & Counter=no clk. // USI Counter Overflow Interrupt: Off USICR=(0<<USISIE) | (0<<USIOIE) | (0<<USIWM1) | (0<<USIWM0) | (0<<USICS1) | (0<<USICS0) | (0<<USICLK) | (0<<USITC); // Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); ADCSRB=(0<<ACME); // Digital input buffer on AIN0: On // Digital input buffer on AIN1: On DIDR0=(0<<ADC1D) | (0<<ADC2D); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); unsigned char VL_OCR0A = 0, VL_OCR0B = 0, VL_OCR1A = 0; OCR0A = 0; OCR0B = 0; OCR1A = 0; while(1) { _delay_ms( 100 ); VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } } Т.е. если указать задержку в начале цикла, то светодиод не светится вообще.
      Если задержку убрать - светодиод немного подсвечивает всеми цветами.
      while(1) { _delay_ms( 100 ); // <--- ЗАДЕРЖКА --- VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } Где я накосячил?
      З.Ы.: Замечаний по поводу оптимизации кода, излишних переменных и п.р. прошу не писать - изощряюсь как могу ибо не пойму почему не работает
    • Guest Денис
      By Guest Денис
      В общем, есть такое чудо китайской техники (фото)
      Что оно может:
      1. Заряжаться через microUSB порт
      2. Кнопка вкл/выкл, она же переключает режимы
      3. 3 режима свечения светодиода (он светит разными цветами)
      Что я хочу сделать:
      1. Пункты 1 и 2 выше
      2. Разнообразить количество режимов, переливание статичный цвет и тд...
      Вопрос: как это сделать? что купить?

      P.S. К сожалению, в гугле не нашел подробной инструкции, а я в электронике я дуб дубом


  • Сообщения

    • Нет, неправильно. Нужно настраивать на минимальное потребление тока при максимуме ВЧ-напряжения на выходе. Замеряя вольтметром на выходе и амперметром по току потребления, вращать подстроечники и добиваться этого. А настраивая по максимуму тока, вы и получаете кучу  паразитных частот: из-за чего ток зазря и потребляется.
    • Я бы что ни будь такое сделал при необходимости. Схема простая, однако весьма склонна к автоколебаниям. Поэтому нужно сначала опробовать макет. Если автоколебания возникнут, то не пытайтесь их подавить. Скорее всего, результата не достигнете. Схемы без склонности к автоколебаниям будут заметно сложнее.
    • Предложение актуально. Цены: Минимальный заказ - 1 катушка. Цена - 950грн. Цена от 2х катушек - 900грн/катушка. Возможна отмотка от 100гр. Цена 100гр. - 130грн.
    • Всем доброго времени суток! Я новичок тут! Что можете сказать вот про такую схему, только лампы стоят 6н6п. Анодное 275, в верхних катодах 220 Ом, нижних 100 Ом. Нижние сетки 100 кОм. Сигнал сразу на сетку. Работает на наушники 250 Ом.
    • Здравствуйте уважаемые форумчане! Мне неспешно,на заказ собирают ламповый SE усилитель на прямонакальных триодах 6с4с и 6э5п(драйвер) Выходные трансформаторы мотают на заказ на хорошем железе, силовик тоже (торроидальный) вы знаете не по наслышке, что прямонакалы 6с4с "хорошо" фонят и чтобы устранить этот недостаток накал ламп советуют выпрямлять постоянкой! Но уже двое человек мне сказали что в этом случае можно "убить" звук, что якобы пропадёт динамика(детализация) и звучание будет в большей степени транзисторным! Правда ли это на самом деле?!!! 2. Если накал ламп выпрямить переменкой как тогда избавиться от фона? Прошу откликнуться знатоков, которые собирали однотактники на этих лампах(6с4с) как правильно поступить? Схему прилагаю)
    • Возможно прога не учитывает что например при 220В большинство атх бп работают в половину от макс скважности -поэтому и число витков меньше  Если сердечник немного больше,то можно взять число витков как в оригинале,40 витков на входе А вот скака витков на выходе,ещё раз подумать какой нужен запас по скважности и по снижению напряжения в сети
    • Верно.   https://vk.com/video182375012_456239021
×
×
  • Create New...