GenaSPB 11 12 февраля, 2008 Опубликовано 12 февраля, 2008 (изменено) · Жалоба AvrStudio + WINAVR, чистый C Програма управления премником с синтезатором. С большой библиотекой подпрограмм для управления разнообразными микросхемами DDS и PLL. Програмный SPI, в минимальном виде обслуживание RAMTRON FRAM, примитивная клавиатура и инкрементный валкодер. Еще одна версия обслуживания HD1602. Аттачмент - TC1-.... ---------------- На китайском форуме нашелся полный проект прерходника USB-RS232 - стандартное CDC устройство. ATMEGA8 + Philips/NXP PDIUSBD12. Исходники и схема в аттачменте. Проект минималистский, но похоже рабочий. Во всяком случае, мне помогло кое-в чем разобраться, как с USB бороться. Оригинал лежит на http://blog.chinaunix.net/u/3272/showart_245587.html ---------------- Еще один проект ATMEGA162 + Philips/NXP PDIUSBD12. Внешняя USB звуковая плата для воспроизведения звуком. С кучей ошибок в коде (кое-где перепутаны выдача кода и данных в Philips), но мне помог на самом начальном этапе. Ввести звук в компютер мне так и не удалось заставить эту программу. http://www.circuitcellar.com/AVR2004/HA3553.html A3553.ZIP Изменено 12 февраля, 2008 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 21 апреля, 2008 Опубликовано 21 апреля, 2008 · Жалоба А есть не по табличному способу? unsigned char crc_8; //в этой переменной считаем CRC8 //Вычисляет и возвращает crc8 void do_crc_8(unsigned char byte) { unsigned char ret=crc_8; unsigned char m=1; unsigned char l; for (char j=0;j<8;j++) { l=((byte&m)?0x8c:0)^((ret&0x1)?0x8c:0); ret>>=1; ret^=l; m<<=1; } crc_8=ret; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 10 мая, 2008 Опубликовано 10 мая, 2008 · Жалоба Интересная ссылка. Глубоко не копал, но там содержится набор различных инструментов + библиотеки программ для AVR. Буду рад, если окажется полезной! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemm 0 6 июня, 2008 Опубликовано 6 июня, 2008 · Жалоба Библиотека для IAR AVR для работы с 1-wire, мож кому пригодится 1_wire.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syslog 0 10 сентября, 2008 Опубликовано 10 сентября, 2008 · Жалоба Не совсем в тему, но может пригодится. Библиотека AVR32LIb Altium (6,7) Ссылки на поекты использующие USB и микроконтроллеры AVR (AVR-USB ). http://microcpu-info.na.by/index.php?optio...9&Itemid=23 AVR32LIb_Altium67.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syslog 0 10 сентября, 2008 Опубликовано 10 сентября, 2008 · Жалоба Не работает ссылка. Пишет доступ закрыт. Прошу прощения ... эти гады на na.by закрыли мой сайт ... (слов нет какие они какашки) Вот ссылки Проекты в сети реализованные на AVR-USB http://www.obdev.at/products/avrusb/prjall.html A Firmware-Only USB Driver for the AVR http://avrusb.wikidot.com/ Если у вас так же плохо с английским, как и у меня, то могу предложить перевод нескольких страниц. Собственно перевод. ______________________AVR.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ARV 1 7 ноября, 2008 Опубликовано 7 ноября, 2008 (изменено) · Жалоба 2 ссылки (на этом же форуме): библиотека поддержки AT90CANxxx и пример ее использования. WinAVR. взято из комплекта отладочной платы DVK90CAN1. http://electronix.ru/forum/index.php?act=A...st&id=26506 http://electronix.ru/forum/index.php?act=A...st&id=26516 Изменено 7 ноября, 2008 пользователем ARV Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackyblack 0 24 ноября, 2008 Опубликовано 24 ноября, 2008 (изменено) · Жалоба Вот дописал работу с 1-wire slave. Язык - Си. Можете пользоваться. Тайминги настроены на 11.059MHz, AtMega16, таймер с предделителем 32 и прерывание по фронту. Схема соединения с линией 1-wire через 2 транзистора (но это не критично). В архиве кроме того неплохая библиотечка для работы с таймерами. Позволяет повесить несколько виртуальных таймеров на 1 реальный. Да, у 1-wire много проверок для надёжности работы, поэтому протокол видно не очень явно. Есть код без проверок - более ясный, но он падает при отсутствии мастера. tm_slave.rar Изменено 24 ноября, 2008 пользователем Andrew Lekar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
pavel-pervomaysk 0 15 декабря, 2008 Опубликовано 15 декабря, 2008 · Жалоба Вот мой код для 44780 , понимаю что тут на асме пишущих мало ... long_code_here = '; // Работа с ЖКИ // LCD PORTA // Двухстрочный ЖКИ 16 х 2 ( 20 х 4 ) контроллер 44780 режим 4 бита 5 х 7 точек .equ rs = PA1 // Выбор регистра ЖКИ .equ rw = PA2 // Чтение_запись данных в ЖКИ .equ e = PA3 // Включение разрешения команд .equ bf = PA7 // Флаг занятости ЖКИ init_lcd: // Инициализация ЖКИ cbi porta,rw // RW --> 0 cbi porta,e // E --> 0 cbi porta,rs // RS --> 0 call wait_20ms // ждем 20 милисекунд ldi data,0x28 // 4 бита режим 5 х 7 точек 2 строки call lcd_cmd_i // передаем команду в ЖКИ call wait_20ms // ждем 20 милисекунд ldi data,0x0C // 4 бита режим 5 х 7 точек 2 строки call lcd_cmd_i // передаем команду в ЖКИ call wait_20ms // ждем 20 милисекунд ldi data,0x28 // 4 бита режим 5 х 7 точек 2 строки call lcd_cmd_i // передаем команду в ЖКИ call wait_20ms // ждем 20 милисекунд ldi data,0x00 // call lcd_cmd // передаем команду в ЖКИ call lcd_line1 // ret // выход // Register r16 tmp wait_lcd: // Готовность ЖКИ к приему ldi tmp,0x0F // загружаем константу andi tmp,0x0F // выделяем старшую тетраду out ddra,tmp // выводы 4 5 6 7 порта А - входы cbi porta,rs // RS --> 0 nop // sbi porta,rw // RW --> 1 nop // lcd_busy: // E --> 1 sbi porta,e // E --> 1 nop // in tmp1,pina // Прочитать содержимое порта А cbi porta,e // E --> 0 nop // sbi porta,e // E --> 1 nop // cbi porta,e // E --> 0 sbrc tmp1,7 // пропуск след команды если сброшен бит 7 jmp lcd_busy // перейти на метку lcd_busy cbi porta,rw // RW --> 0 ldi tmp,0xFF // загружаем константу out ddra,tmp // все выводы порта А - выходы ret // выход clr_string: // Очистка строки ЖКИ ldi data,0x20 // загружаем данные пробела call print_char // выводим на жки call print_char // выводим на жки call print_char // выводим на жки call print_char // выводим на жки call print_char // выводим на жки call print_char // выводим на жки call print_char // выводим на жки call print_char // выводим на жки call print_char // выводим на жки call print_char // выводим на жки call print_char // выводим на жки call print_char // выводим на жки call print_char // выводим на жки call print_char // выводим на жки call print_char // выводим на жки call print_char // выводим на жки ret // выход clr_lcd: // Очистка ЖКИ ldi data,0x01 // загружаем данные call lcd_cmd // подаем команду ret // выход clr_line1: // call lcd_line1 // call clr_string // call lcd_line1 // ret // print_char: // Вывод символа / данных на ЖКИ call wait_lcd // sbi porta,rs // RS --> 1 jmp send_byte // передаем байт в ЖКИ send_nibble: // Передача полубайта в ЖКИ sbi porta,e // E --> 1 in tmp,porta // прочитать содержимое порта andi tmp,0x0F // и выделить старшую тетраду andi data,0xF0 // выделить младшую тетраду в регистре or data,tmp // смешать регистр с данными out porta,data // выдать в порт А результат cbi porta,e // E --> 0 ret // выход lcd_line1: ldi data,0x80 // Выбор адреса первой строки данных ! call lcd_cmd // передаем команду ret // выход lcd_line2: ldi data,0xC0 // Выбор адреса второй строки данных ! call lcd_cmd // передаем команду ret // выход lcd_line3: ldi data,0x94 // Выбор адреса третьей строки данных ! call lcd_cmd // передаем команду ret // выход lcd_line4: ldi data,0xD4 // Выбор адреса четвертой строки данных ! call lcd_cmd // передаем команду ret // выход lcd_cmd: // передача команды в ЖКИ call wait_lcd // lcd_cmd_i: // передача команды в ЖКИ при ините cbi porta,rs // RS --> 0 send_byte: // Передача байта в ЖКИ sts data_ram,data // сохранить data в ram call send_nibble // вызвать передачу полубайта lds data,data_ram // извлечь data из ram swap data // поменять нибблы местами call send_nibble // вызвать передачу полубайта lds data,data_ram // ret // выход out_text: // Вывод текста из флеш проца lsl ZL // Умножаем на 2 rol ZH // регистровую пару ot_1: // Метка перехода lpm // загружаем ячейку памяти из флэш mov data,r0 // копируем данные для вывода call print_char // выводим данные на ЖКИ adiw ZL,1 // вычитываем из пары регистров 1 dec loop // отнимаем 1 от счетчика brne ot_1 // перейти если не равно ret // выход Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 15 декабря, 2008 Опубликовано 15 декабря, 2008 · Жалоба Вот мой код для 44780 , понимаю что тут на асме пишущих мало ... Ну, и кто так пишет ? :) lcd_line1: ldi data,0x80 // Выбор адреса первой строки данных ! call lcd_cmd // передаем команду ret // выход lcd_line2: ldi data,0xC0 // Выбор адреса второй строки данных ! call lcd_cmd // передаем команду ret // выход lcdcmd: Особенно понравилась clr_string :) Вместо call lcd_cmd поставить rjmp lcd_cmd, конечно же, низзя :) Процедура wait_ХЗ_сколько_мс намертво вешает проц, наверное :) как и wait_lcd. Так что не позорьтесь. Лучше бы эти все wait_xxx делать под многопоточную среду типа lcd_busy: ; далее по тексту cbi porta,e // E --> 0 sbrc tmp1,7 // пропуск след команды если сброшен бит 7 jmp system; и вот тут мы не вешаемся, а выходим, ;давая работать и другим компонентам программы ; а там -коррекция стека, сохранение контекста задачи ;(минимального - никто не просит все регистры сохранять) итд Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Abrvalg 0 24 января, 2009 Опубликовано 24 января, 2009 (изменено) · Жалоба Классы для scmRTOS ATmega128 ATmega128_classes.rar Изменено 24 января, 2009 пользователем Abrvalg Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ЛеонидК 0 29 января, 2009 Опубликовано 29 января, 2009 · Жалоба Пользуйтесь. Моя библиотека для IAR. Синтезаторы, АЦП и др. Делал для себя под конкретную задачу. *conf.h в директорию проекта и можно корректировать. У меня библиотека в /avr/inc/my. MyIAR.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ARV 1 16 февраля, 2009 Опубликовано 16 февраля, 2009 · Жалоба Нашел вот очень занятную ссылочку Software-implemented USB Low Speed Host Controller (atmega32 и т.п.), но никак не удается выкачать исходник... если покопаться, то он присутствует в виде html-страниц, а одним архивом - можно вроде скачать, но при помощи специальной утилиты... если кто выкачает - прошу выложить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
at90 0 16 февраля, 2009 Опубликовано 16 февраля, 2009 · Жалоба Вот там нашел code.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ozzy 0 19 февраля, 2009 Опубликовано 19 февраля, 2009 · Жалоба Замена HT1613 на ATTINY2313 c алс с общим катодом. Проэкт под CodeVisionAvr, cхемотехника скопирована с нета. HT1613toALS.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться