Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Пример конфигурации SSC в AT91SAM7X в режиме slave
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
nullakilla
Прием данных по SSC с использованием PDC работает замечательно, а вот когда инициализирую регистры PDC в SSC для передачи данных и разрешаю прерывание конца передачи ENDTX, то прерывание выполняется сразу, хоть данные и не передаются. В обработчике прерывания SSC если прерывание вызвалось от конца передачи ENDTX, то прерывание конца передачи запрещается.

Код
AT91C_BASE_SSC->SSC_TCMR = //(1 << 8)            //START transmit on receive start
                            ;
AT91C_BASE_SSC->SSC_TFMR = AT91C_SSC_MSBF                    //msbf
                                | (15)                            //datlen 16 bits per frame
                                | (15 << 16)                    //fslen 16 bits per frame
                                | (AT91C_SSC_FSOS_POSITIVE << 20) //?syncronization with receive frame signal
                                ;


Мне нужно передачу включать только по сигналу получения фрейма и биты передавать синхронно с получением.
Уже перепробовал кучу комбинаций настроек, но все не выходит sad.gif
DmitryM
Цитата(nullakilla @ Apr 27 2010, 16:52) *
Прием данных по SSC с использованием PDC работает замечательно, а вот когда инициализирую регистры PDC в SSC для передачи данных и разрешаю прерывание конца передачи ENDTX, то прерывание выполняется сразу, хоть данные и не передаются. В обработчике прерывания SSC если прерывание вызвалось от конца передачи ENDTX, то прерывание конца передачи запрещается.

Код
AT91C_BASE_SSC->SSC_TCMR = //(1 << 8)            //START transmit on receive start
                        ;
AT91C_BASE_SSC->SSC_TFMR = AT91C_SSC_MSBF                    //msbf
                                | (15)                            //datlen 16 bits per frame
                                | (15 << 16)                    //fslen 16 bits per frame
                                | (AT91C_SSC_FSOS_POSITIVE << 20) //?syncronization with receive frame signal
                            ;


Мне нужно передачу включать только по сигналу получения фрейма и биты передавать синхронно с получением.
Уже перепробовал кучу комбинаций настроек, но все не выходит sad.gif


AT91C_BASE_SSC->SSC_TCMR = //(1 << 8)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.