реклама на сайте
подробности

 
 
13 страниц V  « < 6 7 8 9 10 > »   
Reply to this topicStart new topic
> Исходники программ и библиотек, у вас есть чем поделиться?
haker_fox
сообщение Apr 21 2008, 07:30
Сообщение #106


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(hooky-mars @ Apr 20 2008, 22:36) *
А есть не по табличному способу?

Код
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;
}


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение May 10 2008, 05:36
Сообщение #107


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Интересная ссылка. Глубоко не копал, но там содержится набор различных инструментов + библиотеки программ для AVR.
Буду рад, если окажется полезной!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
artemm
сообщение Jun 6 2008, 11:55
Сообщение #108


Частый гость
**

Группа: Свой
Сообщений: 80
Регистрация: 23-07-07
Из: Украина, г. Сумы
Пользователь №: 29 306



Библиотека для IAR AVR для работы с 1-wire, мож кому пригодится
Прикрепленные файлы
Прикрепленный файл  1_wire.rar ( 1.11 килобайт ) Кол-во скачиваний: 1194
 
Go to the top of the page
 
+Quote Post
Ph. Anatoliy
сообщение Sep 10 2008, 09:21
Сообщение #109


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 14-12-07
Из: г. Таганрог, Ростовская обл.
Пользователь №: 33 310



Не совсем в тему, но может пригодится.

Библиотека AVR32LIb Altium (6,7)


Ссылки на поекты использующие USB и микроконтроллеры AVR (AVR-USB ).

http://microcpu-info.na.by/index.php?optio...9&Itemid=23
Прикрепленные файлы
Прикрепленный файл  AVR32LIb_Altium67.zip ( 20.61 килобайт ) Кол-во скачиваний: 420
 
Go to the top of the page
 
+Quote Post
Ph. Anatoliy
сообщение Sep 10 2008, 18:56
Сообщение #110


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 14-12-07
Из: г. Таганрог, Ростовская обл.
Пользователь №: 33 310



Цитата(VDG @ Sep 10 2008, 17:30) *
Не работает ссылка. Пишет доступ закрыт.


Прошу прощения ... эти гады на 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 ( 131.15 килобайт ) Кол-во скачиваний: 1167
 
Go to the top of the page
 
+Quote Post
ARV
сообщение Nov 7 2008, 15:52
Сообщение #111


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



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

Сообщение отредактировал ARV - Nov 7 2008, 15:54


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
Andrew Lekar
сообщение Nov 24 2008, 13:31
Сообщение #112


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 11-10-06
Пользователь №: 21 214



Вот дописал работу с 1-wire slave. Язык - Си.
Можете пользоваться.

Тайминги настроены на 11.059MHz, AtMega16, таймер с предделителем 32 и прерывание по фронту. Схема соединения с линией 1-wire через 2 транзистора (но это не критично).

В архиве кроме того неплохая библиотечка для работы с таймерами. Позволяет повесить несколько виртуальных таймеров на 1 реальный.

Да, у 1-wire много проверок для надёжности работы, поэтому протокол видно не очень явно. Есть код без проверок - более ясный, но он падает при отсутствии мастера.

Сообщение отредактировал Andrew Lekar - Nov 24 2008, 13:32
Прикрепленные файлы
Прикрепленный файл  tm_slave.rar ( 7.92 килобайт ) Кол-во скачиваний: 620
 
Go to the top of the page
 
+Quote Post
pavel-pervomaysk
сообщение Dec 15 2008, 11:59
Сообщение #113


Местный
***

Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716



Вот мой код для 44780 , понимаю что тут на асме пишущих мало ...


CODE

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 // выход



Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 15 2008, 12:38
Сообщение #114


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Павлик @ Dec 15 2008, 15:59) *
Вот мой код для 44780 , понимаю что тут на асме пишущих мало ...

Ну, и кто так пишет ? smile.gif
Код
lcd_line1:
ldi   data,0x80       // Выбор адреса первой строки данных !
call  lcd_cmd         // передаем команду
ret                   // выход

lcd_line2:
ldi   data,0xC0       // Выбор адреса второй строки данных !
call  lcd_cmd         // передаем команду
ret                   // выход

lcdcmd:

Особенно понравилась clr_string smile.gif
Вместо call lcd_cmd поставить rjmp lcd_cmd, конечно же, низзя smile.gif
Процедура wait_ХЗ_сколько_мс намертво вешает проц, наверное smile.gif как и wait_lcd.
Так что не позорьтесь.
Лучше бы эти все wait_xxx делать под многопоточную среду типа
Код
lcd_busy:  
; далее по тексту  
cbi    porta,e     // E  --> 0
sbrc   tmp1,7      // пропуск след команды если сброшен бит 7
jmp system; и вот тут мы не вешаемся, а выходим,
                ;давая работать и другим компонентам программы
                ; а там -коррекция стека, сохранение контекста задачи
                ;(минимального - никто не просит все регистры сохранять) итд
Go to the top of the page
 
+Quote Post
Abrvalg
сообщение Jan 24 2009, 22:38
Сообщение #115





Группа: Участник
Сообщений: 8
Регистрация: 16-12-08
Из: Москва
Пользователь №: 42 528



Классы для scmRTOS ATmega128

Сообщение отредактировал Abrvalg - Jan 24 2009, 22:39
Прикрепленные файлы
Прикрепленный файл  ATmega128_classes.rar ( 12.88 килобайт ) Кол-во скачиваний: 476
 
Go to the top of the page
 
+Quote Post
ЛеонидК
сообщение Jan 29 2009, 20:38
Сообщение #116


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 27-01-09
Пользователь №: 44 027



Пользуйтесь. Моя библиотека для IAR. Синтезаторы, АЦП и др. Делал для себя под конкретную задачу.
*conf.h в директорию проекта и можно корректировать. У меня библиотека в /avr/inc/my.
Прикрепленные файлы
Прикрепленный файл  MyIAR.rar ( 49.87 килобайт ) Кол-во скачиваний: 971
 
Go to the top of the page
 
+Quote Post
ARV
сообщение Feb 16 2009, 08:22
Сообщение #117


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Нашел вот очень занятную ссылочку Software-implemented USB Low Speed Host Controller (atmega32 и т.п.), но никак не удается выкачать исходник... если покопаться, то он присутствует в виде html-страниц, а одним архивом - можно вроде скачать, но при помощи специальной утилиты... если кто выкачает - прошу выложить.


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
at90
сообщение Feb 16 2009, 09:03
Сообщение #118


Знающий
****

Группа: Свой
Сообщений: 866
Регистрация: 31-03-05
Из: Краснодар
Пользователь №: 3 814



Вот там нашел
Прикрепленные файлы
Прикрепленный файл  code.zip ( 41.64 килобайт ) Кол-во скачиваний: 746
 


--------------------
<<Первая производная от чужой идеи - уже твоя идея.>>
Go to the top of the page
 
+Quote Post
ozzy
сообщение Feb 19 2009, 08:21
Сообщение #119


Частый гость
**

Группа: Участник
Сообщений: 88
Регистрация: 14-03-06
Из: Житомир (UA)
Пользователь №: 15 228



Замена HT1613 на ATTINY2313 c алс с общим катодом. Проэкт под CodeVisionAvr, cхемотехника скопирована с нета.
Прикрепленные файлы
Прикрепленный файл  HT1613toALS.zip ( 57.67 килобайт ) Кол-во скачиваний: 509
 
Go to the top of the page
 
+Quote Post
GedasL
сообщение Feb 24 2009, 17:33
Сообщение #120


Участник
*

Группа: Новичок
Сообщений: 18
Регистрация: 21-04-05
Пользователь №: 4 376



Temperature alarm
Temperature alarm with ATMega8 and DS18S20/DS18B20. Set high and low limits with rotary switches
and device will alert you with buzzer and blinking LED's when temperature is out of limits.

Triac Power Regulator/Timer
Single-phase, zero crossing power regulator/timer. Can be used for switching on load for a defined time period, controlling power applied to load, or both functions combined. For example: heater control, soldering iron temperature regulation. 7-segment LED display for time/power indication.Bresenham's algorithm used for control signal distribution.

Countdown timer
Simple timer for switching on load for a defined time period.
Set time period, push the START button and timer will turn on for
a defined time period. After time elapses it will turn off automatically.

http://www.embtron.com/
Go to the top of the page
 
+Quote Post

13 страниц V  « < 6 7 8 9 10 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 10th July 2025 - 21:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.0149 секунд с 7
ELECTRONIX ©2004-2016