У меня есть два варианта решения задачи объединения группы пинов в один логический порт:
1 - на простом Си с использованием препроцессора. Используется так:
#define Group1 (Pa1), (Pa2), (Pa3), (Pb2), (Pb3), (Pb4)
GROUP_WRITE(0x55, Group1);
Найти можно тут: http://we.easyelectronics.ru/Soft/rabota ...
Найдено 4 результата
- Ср июл 11, 2012 17:51:47
- Форум: Микроконтроллеры и ПЛИС
- Тема: Объединение разных PINов в один PORT
- Ответы: 33
- Просмотры: 14883
- Вт ноя 29, 2011 18:50:30
- Форум: AVR
- Тема: WinAvr в вопросах и ответах
- Ответы: 2207
- Просмотры: 1305968
Re: WinAvr в вопросах и ответах
Ну, последняя версия WinAVR всё-таки 2010-01-20.
Всё просто координатор проекта WinAVR Eric B. Weddington перешел работать в Atmel и теперь трудится над AVR Toolchain, что по сути новая инкарнация WinAVR.
А вообще обновляться до AVR Toolchain я бы пока не советовал. AVR Toolchain построен на базе ...
Всё просто координатор проекта WinAVR Eric B. Weddington перешел работать в Atmel и теперь трудится над AVR Toolchain, что по сути новая инкарнация WinAVR.
А вообще обновляться до AVR Toolchain я бы пока не советовал. AVR Toolchain построен на базе ...
- Чт май 12, 2011 22:06:29
- Форум: Микроконтроллеры и ПЛИС
- Тема: WinAVR, c++ и прерывания
- Ответы: 15
- Просмотры: 5038
Re: WinAVR, c++ и прерывания
Я предпочитаю обработчики прерываний делать обычными статическими функциями-членами. Причем встраиваемыми для эффективности. И вызывать их из обычным образом написанного обработчика.
class Usart
{
...
static void RxHandler()
{
char byte = UDR;
...
}
...
};
...
ISR(USART_RXC_vect)
{
Usart ...
class Usart
{
...
static void RxHandler()
{
char byte = UDR;
...
}
...
};
...
ISR(USART_RXC_vect)
{
Usart ...
- Пн апр 25, 2011 15:43:27
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1462138
Re: Вопросы по С/С++ (СИ)
Оказывается, вот ТАК нельзя:
Можно:
struct a {
template <typename t> static void f () {}; //Шаблонная статическая функция
};
template <typename t> //Шаблон, который я позже хочу параметризовать структурой a.
struct b {
static void f () {
t:: template f<int> (); // ошибки теперь нет ...