Вы можете написать сейчас и зарегистрироваться позже.
Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.
я бы по первости, - присоединил (поменял ) блоки питания у разных аппаратов... проверил БП
2 - далее присоединил бы (поменял) усилители у разных аппаратов...проверил усилители
- Ремонтировать аппарат не видя его,- то ещё удовольствие...
Похоже вас угораздило на латералы попасть. Они сами себя стабилизируют и никакой дополнительной стабилизации им не нужно. У меня двухкиловаттные Крафты так на металлических Эксиконах работают даже без "эмиттерных" резисторов. Тупо впараллель.
@korsaj Попробовал записать код в разных вариантах предложенных тобой. Первый вариант вообще отказался работать. Заработал второй вариант на приём. Теперь уже хотя бы есть полноценный приём.
char i = 0;
if (rx_buf[i] == 'M'){
i++;
if (rx_buf[i] == '1')
{
//unsigned int n = getDecFromHexStr(rx_buf, i+2);
//Выводим на экран номер текущего трека
LED_1_ON();
LED_2_OFF();
send_UART('M');
send_UART('1');
send_UART(0x0D);
send_UART(0x0A);
_delay_ms(10);
flags = 0;
}
else if (rx_buf[i] == '2')
{
//unsigned int n = getDecFromHexStr(rx_buf, i+2);
//Выводим на экран количество треков
LED_1_OFF();
LED_2_ON();
send_UART('M');
send_UART('2');
send_UART(0x0D);
send_UART(0x0A);
_delay_ms(10);
flags = 0;
}
else if (rx_buf[i] == 'T')
{
//unsigned int n = getDecFromHexStr(rx_buf, i+2);
//Выводим на экран общее время трека
LED_1_ON();
LED_2_ON();
send_UART('M');
send_UART('T');
send_UART(0x0D);
send_UART(0x0A);
_delay_ms(10);
flags = 0;
}
else if (rx_buf[i] == 'K')
{
//unsigned int n = getDecFromHexStr(rx_buf, i+2);
//Выводим на экран текущее время трека
LED_1_OFF();
LED_2_OFF();
send_UART('M');
send_UART('K');
send_UART(0x0D);
send_UART(0x0A);
_delay_ms(10);
flags = 0;
}
}
Но однако есть ещё некоторые вещи которые нужно подкорректировать.
Пока я просто разбираю UART поэтому на терминал вывожу так сказать ответ ну и просто видеть потому как индикатора к микре не подключено пока что. Однако такой вариант с ответкой нужен будет мне и для другого проекта где UART лучше всего подойдёт. Это я уже смотрю на будущее. Но тут тоже когда приходит комманда по UART микроконтроллер отправляет ответ, но он начинает постоянно спамится. Нужно как то сделать чтоб этого не происходило. Я же в свою очередь пробовать сбросить flags = 0;, но это никак не помогло. Может чего подскажешь тут понятно что нужно как то будет обнулить данные чтобы выйти из этого условия программы. Есть вот такая проблемка.
И ещё есть одна проблема с строкой
unsigned int n = getDecFromHexStr(rx_buf, i+2);
Не спроста я её отключил в коде с помощью комментария. А тут проблема в том что студия не может опзнать этот код. Возможно нужно что подключить из встроенных библиотек самой студии.
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.