Цитата:
Тут это надо переправить:
DDRB |= (1 << DDB3) | (1 << DDB5) | (1 << DDB2) | (1 << DDB1) | ( 1 << DDB0);
|
Пробовал... Бесполезно
Чтото я делаю не то... Там ещё по ходу кода надо чтото смотреть мож что-то надо изменить.
Цитата:
А вот тут мы это получаем из прирывания (точнее буфера):
while (1)
{
if( !error) {
button = register_get( GETMAIL( 1));
wheel = register_get( GETMAIL( 2));
if( wheel > oldwheel || wuloop != ( button & ( 1 << WUP))) {
wuloop = ( button & ( 1 << WUP));
oldwheel = wheel;
PORTB |= ( 1 << PINB0);
execCmd( tup);
PORTB &= ~( 1 << PINB0);
}
else if( wheel < oldwheel || wdwnloop != ( button & ( 1 << WDWN))) {
wdwnloop = ( button & ( 1 << WDWN));
oldwheel = wheel;
PORTB |= ( 1 << PINB0);
execCmd( tdwn);
PORTB &= ~( 1 << PINB0);
}
else if ( button & ( 1 << SRC)) {
execCmd( source);
}
PORTB |= ( 1 << PINB0);
и
PORTB &= ~( 1 << PINB0);
Это мигание светодиодом как я понимаю
|
Не! )))) Это не мигание ))) Я точно сам не знаю что, но это... как бы это сказать-то... код нажатия кнопок чтоли...
void loop() {
while (1)
{
if( !error) {
button = register_get( GETMAIL( 1));
wheel = register_get( GETMAIL( 2));
if( wheel > oldwheel || wuloop != ( button & ( 1 << WUP))) {
wuloop = ( button & ( 1 << WUP));
oldwheel = wheel;
PORTB |= ( 1 << PINB0); //Установить "1" на линии SS?
execCmd( tup);
PORTB &= ~( 1 << PINB0); //Установить "0" на линии SS?
Serial.println ("колесо вверх");
}
else if( wheel < oldwheel || wdwnloop != ( button & ( 1 << WDWN))) {
wdwnloop = ( button & ( 1 << WDWN));
oldwheel = wheel;
PORTB |= ( 1 << PINB0); //Установить "1" на линии SS?
execCmd( tdwn);
PORTB &= ~( 1 << PINB0); //установить 0 на линии SS?
Serial.println ("колесо вниз");
}
else if ( button & ( 1 << SRC)) {
execCmd( source); // source = 0xfd; // 1.20 kom
Serial.println ("источник");
}
else if ( ( button & ( 1 << VUP)) && ( button & ( 1 << VDWN))) {
execCmd( att);
Serial.println ("атт какойто");
}
else if ( button & ( 1 << VDWN)) {
execCmd( voldwn);
Serial.println ("громк-");
}
else if ( button & ( 1 << VUP)) {
execCmd( volup);
Serial.println ("громк+");
}
else if ( button & ( 1 << SDWN)) {
execCmd( tdwn);
Serial.println ("т вниз");
}
else if ( button & ( 1 << SUP)) {
execCmd( tup);
Serial.println ("т вверх");
}
register_set( CHANNEL_ADDR( 0) + 3, 0xf8);
}
else {
tss_init();
}
delay(10);
}
}
Это мною добавленны команды вывода на сериал порт...
Короче, когда нажимаешь кнопки на руле, то в сериал порте пишется - громкость вверх... громкость вниз... колесо вверх... колесо вниз... )))
..........................
PORTB |= ( 1 << PINB0); //Установить "1" на линии SS
execCmd( tup);
PORTB &= ~( 1 << PORTB |= ( 1 << PINB0); //Установить "1" на линии SS
execCmd( tup);
PORTB &= ~( 1 << PINB0); //Установить "1" на линии SS); //Установить "1" на линии SS
Это я прокомментировал как управление SS... но это не точно!!!
Что такое PINB0 я не знаю