Или же здесь другой подход к алгоритму в целом?
Поделитесь секретами программирования по SPI
1. в какой-то из тем я уже писал об автономном программаторе... думаю, надо использовать SD/MMC карту для хранения обычных файлов прошивок, копировать их туда с компа, а потом МК считывает их и шьёт куда надоshemmer писал(а):Я имел ввиду необходимо ли создавать масивы?
Или же здесь другой подход к алгоритму в целом?
Поделитесь секретами программирования по SPI
brne проверяет есть ли [на ] НОЛЬ в регистреleshiy писал(а):Начал изучать,подскажите как это работает:
ldi Temp1 ,0
ldi Temp2 ,0
ldi Temp3 ,10
Loop: dec Temp1
brne Loop
dec Temp2
brne Loop
dec Temp3
brne Loop
-непонятно то,что для задержки берутся три регистра,на первом цикле brne сравнивает значение регистра1 с нулем,когда в регистре насчитался нолик brne отпускает ход программы(с метки),программа пошла дальше...и натыкается на 2-й регистр(высчитывается),а потом снова brne Loop,т.е. происходит переход на метку или теперь сравнивается второй регистр? Temp2
brne Loop
dec Temp3
brne Loop
Код: Выделить всё
Loop: dec Temp1
brne LoopКод: Выделить всё
dec Temp2
brne LoopКод: Выделить всё
dec Temp3
brne LoopКод: Выделить всё
Loop: dec Temp1
brne LoopКод: Выделить всё
Loop: dec Temp2
brne Loopнасчеь мегагерц не скажу(не знаю как контроллер работает, не знаю с какой скоростью и за сколтко тактов считывает и записывает информацию), а насчет вложенности да.leshiy писал(а):итого,если я правильно уяснил, три цикла в одном
по 256 повторений=> 256*256*256=256^3=16.776.216 ,если тактовая частота около 20 МГц(20.000.000 в секунду) то значит что мигать будут светодиоды чуть быстрее одной секунды,правильно?
Код: Выделить всё
i2c_start();
PORTC = 1;
i2c_write(0b10100000); //вот тут и виснет!
PORTC = 2;
i2c_write(0);
i2c_write(3);
i2c_write(0b101);
i2c_stop();
слишкам многа букаф... еле асилил... ATMega8 - моделируеццо и недорого, ATMega16 - моделируеццо, аднака дороже, зато многа ног. оба справяццо с задачей элементарноKa3ax писал(а):Посоветуйте контроллер. такой, что бы в Proteus симулировать можно было. И не сильно дорогой.
спасибо, посмотрел, не очень дорогоБазилио писал(а):слишкам многа букаф... еле асилил... ATMega8 - моделируеццо и недорого, ATMega16 - моделируеццо, аднака дороже, зато многа ног. оба справяццо с задачей элементарноKa3ax писал(а):Посоветуйте контроллер. такой, что бы в Proteus симулировать можно было. И не сильно дорогой.
Вот тоже недавно ришил поигратся с i2c, а точнее с EEPROM 24С04. Я вот тоже эмулировал в Протеусе, и никаких результатов, а вот подключил к ATtiny13 , загнал прошивку, и всё ОК. Попробуй на железе, а вобще смотри в HELP , там есть пример работы с EEPROMPiroman17 писал(а):столкнулся с тем, что при эмуляции (в протеусе) работы ATmega16 и I2C EEPROM AT24С1024 весь поцесс зависает на команде передачи первого байта. Код компилировал в CVAVR. вот кусок кода на котором виснет:
Плиз помогите!Код: Выделить всё
i2c_start(); PORTC = 1; i2c_write(0b10100000); //вот тут и виснет! PORTC = 2; i2c_write(0); i2c_write(3); i2c_write(0b101); i2c_stop();


Надо поставить пакеты avr-gcc и avr-libc, ну а там уже команда avr-gcc --help выдаст нужные параметры. Лучше поставь пакет Kontrollerlab и не мучайся с командами(хотя конечно изучить их не помешает)knyaz* писал(а):Суть заключается в том что есть компилятор gcc стандартная тузла в linux...
Взяты библиотеки из winAVR... там вроде тот же компилятор используется...
Ну жно скомпилировать программу написанную на языке С с помощью gcc...
т.е. какой клучь нужно установить gcc что бы он на выходе дал *.HEX или хотябы бинарник.....