Приемник подключен к микроконтроллеру(AT91SAM9XE512) по двум интерфейсам: SPI и SSC.
По SPI управляется, по SSC принимаются данные в режиме SPORT.
В моей задаче невозможно использование пакетных режимов, преамбул и т.д.
Данные принимаются нормально. Поток не рвется.
Но дошел до этапа, когда необходимо считать RSSI.
Предполагал, что буду считывать RSSI из регистра блочной(random) командой чтения с использованием
ДМА контроллера, но стал прерываться поток принимаемый по SSC.
Сделал простой цикл в программе, т.е. приемопередатчик инициализируется, переводится в состояние RX(4).
А потом начинаю в цикле читать RSSI и состояние. Приемопередатчик самопроизвольно переходит в состояние PHY_READY(3).
Вот лог:
CODE
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9E}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9E}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9F}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9F}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9E}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9B}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9F}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9F}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A5, 25, 24, 1D}
Status = A3, State = 3
adf7242_read_reg addr = 30C; g_pRBuffer = {A3, A3, A3, 9F}
Status = A3, State = 3
adf7242_read_reg addr = 30C; g_pRBuffer = {A3, A3, A3, 9F}
Status = A3, State = 3
adf7242_read_reg addr = 30C; g_pRBuffer = {A3, A3, A3, 9F}
Status = A3, State = 3
adf7242_read_reg addr = 30C; g_pRBuffer = {A3, A3, A3, 9F}
Status = A3, State = 3
adf7242_read_reg addr = 30C; g_pRBuffer = {A3, A3, A3, 9F}
Status = A3, State = 3
adf7242_read_reg addr = 30C; g_pRBuffer = {A3, A3, A3, 9F}
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9E}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9E}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9F}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9F}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9E}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9B}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9F}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A4, A4, A4, 9F}
Status = A4, State = 4
adf7242_read_reg addr = 30C; g_pRBuffer = {A5, 25, 24, 1D}
Status = A3, State = 3
adf7242_read_reg addr = 30C; g_pRBuffer = {A3, A3, A3, 9F}
Status = A3, State = 3
adf7242_read_reg addr = 30C; g_pRBuffer = {A3, A3, A3, 9F}
Status = A3, State = 3
adf7242_read_reg addr = 30C; g_pRBuffer = {A3, A3, A3, 9F}
Status = A3, State = 3
adf7242_read_reg addr = 30C; g_pRBuffer = {A3, A3, A3, 9F}
Status = A3, State = 3
adf7242_read_reg addr = 30C; g_pRBuffer = {A3, A3, A3, 9F}
Status = A3, State = 3
adf7242_read_reg addr = 30C; g_pRBuffer = {A3, A3, A3, 9F}
Как читать RSSI в режиме SPORT? Может кто обошел эту проблему?