ra0wx wrote:Поправил:
data =
(trx.CW ? OUT_CW_ACTIVE_LEVEL : !OUT_CW_ACTIVE_LEVEL) +
((trx.AttPre == 1 && !trx.TX ? OUT_ATT_ACTIVE_LEVEL : !OUT_ATT_ACTIVE_LEVEL) << 5);
не получается, разваливается переключение диапазонов! У меня в другом режиме работает регистр!
#ifdef HARDWARE_3_1
void sendBandData(byte data)
{
digitalWrite(PIN_SR_LATCH, LOW); // PIN_SR_LATCH
shiftOut(PIN_SR_DATA, PIN_SR_SHIFT, LSBFIRST, data); //
digitalWrite(PIN_SR_LATCH, HIGH);
}
#endif
Все Андрей, все получелось. Строка приняла вид:
data =
(trx.CW ? OUT_CW_ACTIVE_LEVEL : !OUT_CW_ACTIVE_LEVEL) +
((trx.AttPre == 1 && !trx.TX ? OUT_ATT_ACTIVE_LEVEL : !OUT_ATT_ACTIVE_LEVEL) << 2);
Хочется смеяться, часы идут!!! Частоты SI5351 для опоры и гетеродина идут с точность 1 герц. Сдвиг при ТЛГ пока не проверял.САТ буду тестить с програмой UR5EQF. Еще раз спасибо за помощь, просто разная схемотехника проектов, потребовался бубен..