Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.04.2016, 20:53   #28
DeGlucker
Junior Member
 
Регистрация: 04.12.2015
Сообщений: 14
Вес репутации: 0
DeGlucker is an unknown quantity at this point
По умолчанию Re: Ускоряем и улучшаем скетчи. Ещё одна библиотека.

Arhat109, возникла у меня тут такая идея: почему бы не использовать таймер0
в режиме самозагрузки при совпадении с OCR0A, т.е. в OCR0A записываем 250,
прерывание переназначаем на COMPA и получаем чистую миллисекунду и возможность
делать другой квант времени (мне понадобилось 500 мксек).

Для эксперимента я поменял в arhat.h TIME_ISR на COMPA,
а в setup():

Цитата:
TCCR0A = 1<<WGM01;
TCCR0B = 1<<CS00 | 1<<CS01; // 1/64
TIMSK0 = 1<<OCIE0A; // int if TCNT0 == OCR0A
OCR0A = 125; // for 0.5 msec
прерывания пошли с частотой 2 КГц.

Не могли бы Вы сделать версию библиотеки с таким режимом таймера, а то я
совсем запутался в макросах и дефейнах.

Еще одна идея - в ISR сохранение контекста сделать через дефейн,
например нужно только выдать в порт импульс, используется только R24,
его и сохранять/восстанавливать в HookProc.

Спасибо за TWI, библиотекой SPI я уже давно не пользуюсь, но там все просто.
DeGlucker вне форума   Ответить с цитированием
 

Метки
arduino mega 2560, скетч, ардуино


Здесь присутствуют: 4 (пользователей: 0 , гостей: 4)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 14:01. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика