Показать сообщение отдельно
Старый 23.12.2018, 23:18   #6
nikey
Новый Пользователь
 
Регистрация: 28.10.2018
Город: орел
Регион: 57
Машина: пежо 307
Сообщений: 17
nikey is on a distinguished road
По умолчанию

Цитата:
Тут это надо переправить:
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 я не знаю
nikey вне форума   Ответить с цитированием