Цитата(_artem_ @ Jul 26 2007, 15:48)

по листингу смотрели сколько регистров в стек кладет ?
Если ИАР ипользуете м то здесь добрые люди подсказали использовать __raw в перед названием функции прерывания - стек не будет использоваться . Второе выделите регистры под переменные - будет быстрее . Можете индивидуально назначать их.
Затем можете поднять кварц то 20 МГц некоторые делают до 24 МГц на 2313 .
Удачи .
i eto posmotrite :
http://www.myplace.nu/avr/minidds/index.htmСпасибо всем!
Артём, посмотрел ссылочку и понял -- жаль раньше ёё не видел, класс.
Я плату развёл и спаял и от своего метода пока постараюсь не отказоваться.
С формированием частоты через порт ... борьба с "нопами" и только ассемблер , чуть накладно. А использовать
ком порт для управления генератором наверное сильно круто особенно в моём положении. Я делаю управление с
кнопок, значения на ЖКИ. Возможно попытаюсь подхватить идею Дженсена и переделать без ком порта.
Помогли написать программу в кодэ визионе а я подправил под ИАР. Можна написать и оптимальнее, но
я там написал для наглядности, правда на ассемблерных вставках.
Чуточку изменил режим работы таймера1 Fast PWM top=OCR1A.
OCR1A -- значение периода частоты по которому работает алгоритм --- количество циклов в
обработчике прерывания возросло !
Выход --- OC1B output: Non-Inv -- полпериода выходной частоты. Правда запись в регистр сравнения OC1B
пока не написал но это аналогично.
кому интересно...прикрепляю
Извините, но у меня вопрос конечно касающийся с тонкостями работы в ИАРе и несовсем по теме:
в кодэ визионе есть переменная величина типа бит в ИАРе нигде не встречал. Неужели нужно создавать битовое поле
для битовых переменных? если да то через структуру или дефайн (так на форуме ПРОТОСС советует)?
и просьба может кто поможет с простыми функциями преобразования шестнацеричного числа в
десятичное и наоборот
Заранее благодарен!!