Перейти к содержанию
    

Artem_

Участник
  • Постов

    17
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Artem_

  • Звание
    Участник
    Участник
  • День рождения 17.08.1981

Контакты

  • Сайт
    Array
  • ICQ
    Array
  1. SPM ATtiny84

    Да действительно, так, но для моего случая. Пример брал для ATmega128, а для неё: • Page Erase to the RWW section: The NRWW section can be read during the page erase. • Page Erase to the NRWW section: The CPU is halted during the operation. Поэтому там и стоит ожидание.
  2. SPM ATtiny84

    Я и говорю зачем его ждать если он фьюз... Нашел в исходниках: while( SPMControllRegister & (1<<SPMEN) ); // Wait until Flash write completed Может bodja74 это имел ввиду?...
  3. SPM ATtiny84

    Спасибо всем ответившим. Разобрался. #asm ldd r1,y+3 ldd r0,y+2 ldd R30,y+1 ldd R31,y+0 #endasm //в этом месте сбрасывалась переменная i по-этому писалось все в первую ячейку SPMCSR = 0x01; //буфера #asm spm #endasm пришлось переделать так: #asm push r16 ldd r1,y+3 ldd r0,y+2 ldd R31,y+1 ldd R30,y+0 push r29 push r28 clr r29 ; Очистить старший байт y ldi r28,0x57 ldi r16,0x01 st y,r16 ;SPMCSR = 0x01; spm pop r28 pop r29 pop r16 #endasm
  4. SPM ATtiny84

    Что значит ждем сброса SELFPRGEN это же Fuse bit, разве он меняется в процессе выполнения программы может Вы имели ввиду какой-нибудь другой бит, если да то какой?
  5. SPM ATtiny84

    Разные - это я пробывал переставлять, остался последний вариант. Если переставить то все равно не работает. При заполнении используется ведь адрес слова во временной странице, а при записи номер страницы во flash.
  6. SPM ATtiny84

    Пробую записать страницу во flash предварительно заполнив последовательностью чисел. Проверяю в симуляторе: записывает по адресу 0х0200 только одно слово 3F 3E т.е. последнее записываемое слово. Куда пропадают остальные байты ErasePageFlash(0x0200); for (i=0;i<32;i++) { a = i; a = a<<1; FillBuf((i*2), (i*2)+1, a); } WritePageToFlash(0x0200); void FillBuf(unsigned char low, unsigned char hi, unsigned int c) { #asm ldd r1,y+3 ldd r0,y+2 ldd R30,y+1 ldd R31,y+0 #endasm SPMCSR = 0x01; #asm spm #endasm } void WritePageToFlash(unsigned int c) { #asm ldd R31,y+1 ldd R30,y+0 #endasm SPMCSR = 0x05; #asm spm #endasm }
  7. SPM ATtiny84

    Еще вопрос: где находится (в какой памяти) Temporary Page Buffer.
  8. Добрый День! Правильно ли я понял, что SPM инструкции в ATtiny84 можно выполнять из любого места программы? И у него нет битов BOOTRST, BOOTSZ1, BOOTSZ2. В этом случае где разместить Boot Loader и как передать ему управление. И понятие Boot sector пременимо к этому МК?
  9. SPM ATtiny84

    Добрый День! Правильно ли я понял, что SPM инструкции в ATtiny84 можно выполнять из любого места программы? И у него нет битов BOOTRST, BOOTSZ1, BOOTSZ2. В этом случае где разместить Boot Loader и как передать ему управление. И понятие Boot sector пременимо к этому МК?
  10. Error[Pe020]

    Спасибо! Ошибки пропали.
  11. Error[Pe020]

    Доброго времени суток. Перехожу на IAR... При компиляции файла выдаёт ошибку: Error[Pe020]: identifier "EERIE" is undefined причем на одну строку ругается а на другую, стояшую следом, нет. кусок кода: ... eepromInterruptSettings= EECR & (1<<EERIE); //выдает ошибку EECR &= ~(1<<EERIE); //а сдесь не выдаёт ... Код взят с AVR106: C functions for reading and writing to FLASH. Почему в одном месте пишет что неопределел индентификатор, а в другом всё нормально?
  12. Посмотри справку CVavr. У него есть функции работы с I2C: I2C Bus Functions
  13. Тоже разбираюсь с записью/чтением FLASH У Atmela есть Application Note по теме: AVR105 и AVR106 но соответственно на английском... Скачать можно на сайте Atmela или на www.gaw.ru раздел: применение AVR. Использую компилятор CodeVisionAVR. Функций работы с FLASH в CodeVisionAVR не нашел, буду разбираться с AVR105 и AVR106. Когда получится напишу. Если что найдешь интересное тоже пиши... Тоже разбираюсь с записью/чтением FLASH У Atmela есть Application Note по теме: AVR105 и AVR106 но соответственно на английском... Скачать можно на сайте Atmela или на www.gaw.ru раздел: применение AVR. Использую компилятор CodeVisionAVR. Функций работы с FLASH в CodeVisionAVR не нашел, буду разбираться с AVR105 и AVR106. Когда получится напишу. Если что найдешь интересное тоже пиши...
  14. Codevision AVR

    Спасибо! Действительно слов. Перейти на IAR давно хочу т.к. больше возможностей: поддержка С++, да и Codevision не весь Си поддерживает например inline, который он просто игнорирует (что стандарт Си не запрещает). Codevision хорош для небольших проектов и начального уровня ИМХО.
  15. Codevision AVR

    Добрый день! Использую Codevision. При компиляции Codevision использует половину памяти FLASH для attiny2313 - 1k для attiny84 - 4k. Из-за чего это может быть?
×
×
  • Создать...