Jump to content
Duhas

Примеры Кода Для Avr

Recommended Posts

блин на мегу 16 нужен ошибся(((( а 10 мб дорого и долго на сайте русскоязычном атмела смотрел не нашел загуглить не получилось

Share this post


Link to post
Share on other sites

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

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

Подробнее

Покопайся по темам в форуме.Где-то выкладывали ссылку про МК Мега на русском.

Share this post


Link to post
Share on other sites

Народ помогаем!!

Застряна богальном.

При переходе с PIC на AVR возникла дурацкая проблема.

К примеру есть нейкое int i. i=16;

В компиляторе который я юзал для PIC командой printf("%d", i); у меня выводились данные '1' '6' в нормальном ASCII. А в компиляторе CVAVR так делать не хочет, покрайней мере способа я не нашел. А вычилять делить на 100 или на 10 с добавлением 48 бред.

Как тут поступить??

Share this post


Link to post
Share on other sites
                     

Приглашаем на вебинар Решения для построения ультразвуковых счетчиков жидкостей и газов на базе MSP430

Компэл совместно с Texas Instruments 23 октября 2019 приглашают на вебинар, посвященный системам-на-кристалле для построения ультразвуковых расходомеров жидкостей и газов на базе ядра MSP430. Вебинар проводит Йоханн Ципперер – эксперт по ультразвуковым технологиям, непосредственно участвовавший в создании данного решения. На вебинаре компания Texas Instruments представит однокристальное решение, позволяющее создавать точные недорогие счетчики жидкостей и газов.

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

Странно. В CVAVR должно работать. Только в начале добавить #include <stdio.h>

Share this post


Link to post
Share on other sites
Странно. В CVAVR должно работать. Только в начале добавить #include <stdio.h>

Подклбчал, песполезно..

Написал фукцию дополнительную. Уже и забыл про эту проблему.

Share this post


Link to post
Share on other sites

возник небольшой трабл, читал на сайте майробот про схемку на одном микрокрнотроллере L293D,но какой брать-не знаю.Почти заказал L293D (КР 1128 КТ4) PDIP16,но покатит ли он?

Share this post


Link to post
Share on other sites

L293D (КР 1128 КТ4) - это не микроконтроллер, а всего лишь "PUSH-PULL FOUR CHANNEL DRIVER WITH DIODES". Если по-деревенски - это четыре полумостовых усилителя тока.

Edited by YurkaM

Share this post


Link to post
Share on other sites

STK500 позиционируется как стартовый набор.

Назначение - максимально облегчить юзеру знакомство с кристаллами(кристаллом) АВР.

Уже содержит всякую преферию типа кнопок, микросхем памяти, разъемов и т.д.

Программирование кристалла и мониторная отладка - это одна из его функций.

Эмуляция и симуляция в данном случае почти синонимы и это функция AVRStudio под которой работает STK500.

Посмотрите на www.atmel.com... там есть все по STK500

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Деньок добрый!

вот начл ковырять АВР. Обзавёлса книжкой в комплекте компакт ну это не важно.

Короче написал програмку простенькую под атмегу 128 на Си, откомпилировал, получил файл .COF, зарядил в протеус и ничё не вижу, ни програмного кода как раньше с 51 работал, хотя правда писал на ассемблере, ни результата деятельности моего сверх простого кода. ( выходы тихарят ) Тобиш ничё не меняетса на выходе контроллера, хотя в АВР студио всё фунциклирует ( вроде как ),

короче вод этот код мож я чёто настрахолюдил в коде или чё может не так с протеусом делаю?

#include <avr/io.h>
#include <avr/delay.h>

void light(void)
{
PORTD = 0xFF;
}

void darck(void)
{
PORTD = 0x00;
}

int main (void)
{	DDRD = 0xFF;

while (1)
{
	light();
	darck();
}
}

Edited by Klima

Share this post


Link to post
Share on other sites

2 Klima

А на выводы RESET и PEN подали +5 вольт через резисторы килоом по 10?

Share this post


Link to post
Share on other sites

Ну вот следуя вашым предписаниям зделал 5 вольт через 10к на ресет и пен ничё не помогаеть есть идея если конечно не сложно кому нибудь закинуть этот код и проверить

если у когото всё получаетса знач наверно я чёто не то делаю щяс ещё на ассемблере сворганю буду учить ассемблер в паралель

Share this post


Link to post
Share on other sites

Всё работает... В протеусе присоединял и cof и hex, с обоими работает. Компилятор - WinAVR.

Вот проекты в winavr и proteus:

avr_blink.rar

Share this post


Link to post
Share on other sites

Благодарю ОГРОМНОЕ нашол где гвоздь лежит я не отредактировал мейк файл там для 169 меги было :rolleyes:

если бы не твой проэкт я бы наверно ещё дня 2 возился

Share this post


Link to post
Share on other sites

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

Контроллер atmega128. Уже пытаюсь хотя бы заставить его выдавать импульсы на каком-нибудь порту. Заливаю hex-файл из своего же 43-поста. Программатор Avr ISP I/O в связке с PonyProg. Прекрасно прошивается. Фьюзы настроил на на внешний кварц, генерация есть (смотрел осциллографом). А вот на портах - тишина... В чём может быть проблема?

Share this post


Link to post
Share on other sites

Просто зачем-то нужно было записывать еще и файл *.eep. Странно... Ведь ПЗУ никак не использовалось, да и в этом файле были только FF FF...

Уже после дела прочитал в одной книге прочитал, что это надо делать, (называется что-то типа "Самоучитель AVR"). Хотя для меня так и осталось загадкой, зачем это делать... :) Довольно странная штука при переходе с пиков.

Думал, при стирании записываются те же FF. Надо будет проверить...

Share this post


Link to post
Share on other sites

Если у Вас есть огромное желание научиться программировать AVR и не знаете с чего начать тогда эта страничка для Вас _http://www.yourdevice.net/avr.html.

Собрана минимально необходимая информация, которую нужно знать для программирования данной серии микроконтроллеров. Кратко описана последовательность изучения. Есть документация, болшое количество примеров проектов и ссылки на русском языке к популярным программам Proteus, CVAVR, AVRStudio, IAR. Схемы и готовые устройства USB программаторов и USBJTAG отладчиков.

Share this post


Link to post
Share on other sites

С кокого микроконтроллера лучше начать? (желательно с перезаписью)

Какой программатор лучше собрать?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. 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 Anton Bondarenko
      Всем привет
      Прошу не ругать, впервые подобный вопрос задаю.
      Хочу сделать прибор, который будет посылать сигнал, когда возле прибора будет проходить металлический предмет. 
      — угол отслеживания до 30° а лучше прямая линия, траектория
      — время реакции очень высокое до 100 мс
      — ширина проема в котором нужно сканировать от 10 до 20метров,
      — передача сигнала через вифи
      Может есть готовые решения, или отдельные компоненты.
      Подскажите пжл в каком направлении искать.
      Смотрел датчики движения, но главная проблема — время реакции.
      Спасибо
       
    • 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; } Где я накосячил?
      З.Ы.: Замечаний по поводу оптимизации кода, излишних переменных и п.р. прошу не писать - изощряюсь как могу ибо не пойму почему не работает
  • Сообщения

    • Вот интересно, что показывают по каналу "Школьник" в 2. 15 ночи в программе "Немецкий с удовольствием"?!
    • Это вам так кажется только. В процессе разработки и наладки вылезет столько нюансов и коллизий, что замучаетесь их обрабатывать.
    • @tifaso , чтобы хоть примерно представлять, как выглядит многоканальная система дистанционного управления на рассыпухе (одна из самых простейших), посмотрите эту статью, например. И чтобы наладить такое, надо иметь, по крайней мере, осциллограф.
    • Тяжело таскать такой чумадан однако. Я недавно у приятеля двигал полуторатактник 2х40W, сделанный по схеме misterzu - куль картошки легче. А горячий, суко ... яичницу жарить можно. 
    • Частота дикая какая-то. У меня нет нормальных приборов. С  "частотомером до 50 МГц своими руками. На одной микросхеме 74hc4060" при делителе 16х показывает 126кГц. То-бишь 126кГц х 16 = примерно 2 МГц при делителе 32х показывает 52кГц. 52кГц х 32 = примерно 1,66 МГц Мерил на выходе на динамик. На 5й, 10й, 12й ногах ситуация кардинально не меняется. Щас ваще 144-150кГц х 16 показывает = 2,4МГц
    • Как только умер Ленин, оказалось, что второй человек в партии, товарищ Троцкий — предатель. Каменев, Зиновьев, Бухарин и Сталин свергли Троцкого и изгнали из СССР. Но через пару лет оказалось, что Каменев, Зиновьев и Бухарин тоже враги и вредители. Тогда доблестный товарищ Генрих Ягода их арестовал. Чуть позже Ягоду как вражеского агента арестовал Ежов. Но через пару лет оказалось, что и Ежов не товарищ, а обычный предатель и вражеский агент. И Ежова арестовал Берия. После смерти Сталина, все поняли, что и Берия тоже предатель. Тогда Жуков арестовал Берию.  Но вскоре Хрущев узнал, что Жуков враг и заговорщик. И сослал Жукова на Урал.  А чуть позже вскрылось что и Сталин–то был врагом, вредителем и предателем. А вместе с ним и большая часть политбюро. Тогда Сталина вынесли из мавзолея, а политбюро и примкнувшего к ним Шепилова разогнали честные партийцы во главе с Хрущевым.  Прошло несколько лет и выяснилось, что Хрущев был волюнтаристом, проходимцем, авантюристом и врагом. Тогда Брежнев отправил Хрущева на пенсию. После смерти Брежнева, выяснилось, что и он был вредителем и причиной застоя.  Потом было еще двое, которых никто и запомнить-то не успел. Но тут пришел к власти молодой, энергичный Горбачев. И оказалось, что вся партия была партией вредителей и врагов, но он–то сейчас все исправит.  Тут–то СССР и развалился. А Горбачев оказался врагом и предателем.  Вы ознакомились с кратким курсом истории СССР.
    • А где ФЧХ? Вещать о линейности без созерцания картины PH-фактора - моветон. 
  • Покупай!

×
×
  • Create New...