Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как вставить в WinAVR функцию на asmе?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
hd44780
Конкретно - надо вставить RC-5 декодер AVR410.

Компилер WinAVR-20070122.
Инициализацию таймера, его прерывание уже переписал на Си.
Пересчитал частты таймера по свои 16 MHz.

Теперь надо вставить "главную" функцию detect.
Переписывать ее на Си лень. Нельзя ли как-то вставить целиком.
Функция типа

void rc5Decode ( void )
{
}

В доке на WinAVR ничего похожего не нашел.
Что вставлять по одной команде функцией asm () что-ли?

Спасибо.
aesok
Цитата(hd44780 @ May 25 2007, 16:59) *
Переписывать ее на Си лень. Нельзя ли как-то вставить целиком.


Вообщето делать ассемблерные вставки в GCC это занятие не для ленивых.

Если Вам не лень то читайте avr-libc-user-manual: "7.4 Inline Asm". Пример можете посмотреть в "\include\util\crc16.h".

Если нужна функция то лучше ее написать на ассемблере оформить в .S файле, и включить в проект. Опять-же читайте FAQ#13 (What registers are used by the C compiler?). В качестве примера можете посмотреть исходники avr-libc.

Анатолий.
hd44780
Спасибо. Попробую ..

Забодался уже с этим RC-5. Кучу примеров на С перебрал и ничего ...
То ничего не принимает, то бред принимает...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.