Извините, перепутал. Я имел в виду: связать 2 модема по протоколу V.22 bis (НЕ АВТОМОДЕМ). Я так полагаю USART в моём случае это SPI? Давайте я приведу настройки которые использую:
1)первый модем
генеральный регистр
Код
genConfig.Equalise = ENABLE_EQUALISE_GenEqualiseCMX869B;
genConfig.InputGain = RXBN_OPEN_CIRCUIT_GenInputGainCMX869B;
genConfig.PaternDetect = STANDART_PATERN_DETECT_GenPaternDetectCMX869B;
genConfig.Loopback = LOOPBACK_DISABLE_GenLoopbackCMX869B;
genConfig.Character = CHARACTER_1_GenCharacterCMX869B;
genConfig.RelayDrive = RDRVN_PULL_TO_VDD_GenRelayDriveCMX869B;
genConfig.PowerUp = NORMAL_POWER_GenPowerUpCMX869B;
genConfig.Reset = NORMAL_GenResetCMX869B;
genConfig.Irqnen = IRQN_PIN_ENABLE_GenIrqnenCMX869B;
настройка отправки
Код
txConfig.Mode = V_22_BIS_HIGH_MODE_TxRxModeCMX869B;
txConfig.Level = L_10_5_DB_LEVEL_TxRxLevelCMX869B;
txConfig.GuardTone = NO_TX_GUARD_TONE_TxGuardToneCMX869B;
txConfig.Scrambler = DISABLE_SCRAMBLER_ScramblerCMX869B;
txConfig.DataFormat = START_STOP_NO_PARITY_TxDataFormatCMX869B;
txConfig.DataSize = DATA_8_BITS_TxRxDataSizeCMX869B;
2) второй модем
генеральный регистр - такой же как в первом
настройка приёма
Код
rxConfig.Mode = V_22_BIS_LOW_MODE_TxRxModeCMX869B;
rxConfig.Level = L_10_5_DB_LEVEL_TxRxLevelCMX869B;
rxConfig.AutoEqualise = DISABLE_AUTO_EQUALISE_RxAutoEqualiseCMX869B;
rxConfig.Scrambler = DISABLE_SCRAMBLER_ScramblerCMX869B;
rxConfig.DataFormat = START_STOP_NO_OVERSPEED_RxDataFormatCMX869B;
rxConfig.DataSize = DATA_8_BITS_TxRxDataSizeCMX869B;
В результате в линии прослеживается аналоговый сигнал при отправке. Но принимающий модем вообще ничего не видит.