Paragon 0 8 сентября, 2006 Опубликовано 8 сентября, 2006 · Жалоба Подскажите, пожалуйста, есть ли более подробное описание UART ADUC702x, чем приведённое в даташите? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 8 сентября, 2006 Опубликовано 8 сентября, 2006 · Жалоба Подскажите, пожалуйста, есть ли более подробное описание UART ADUC702x, чем приведённое в даташите?Не попадалось. Но мне удалось его заставить работать. Если интересно, могу выложить пример. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Paragon 0 11 сентября, 2006 Опубликовано 11 сентября, 2006 · Жалоба Подскажите, пожалуйста, есть ли более подробное описание UART ADUC702x, чем приведённое в даташите?Не попадалось. Но мне удалось его заставить работать. Если интересно, могу выложить пример. Интересно ли мне? Интересно - не то слово. Вопрос жизни и смерти!:) Можно послать примеры на [email protected] или сообщить, где они лежат. Заранее признателен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Snusmumrik 0 5 октября, 2006 Опубликовано 5 октября, 2006 (изменено) · Жалоба Более подробное - не попадалось. Но тоже заставил его работать :) Замеченные особенности работы: для загрузки программы использовать - только пины 1.0 и 1.1, а не 0.7 и 2.0 - я на это попался, т.к. в документации разница между ними не оговаривалась, а техсаппорт ADI мне ответил, что,мол, сорри, забыли описать, в след. версии даташита... А у меня на тестовом образце девайса пришлось проводки сверху к пинам припаивать :) Это для загрузки только, потом 0.7 и 2.0 можно использовать как RXD и TXD Изменено 5 октября, 2006 пользователем Snusmumrik Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IEC 0 10 октября, 2006 Опубликовано 10 октября, 2006 · Жалоба Подскажите, пожалуйста, есть ли более подробное описание UART ADUC702x, чем приведённое в даташите?Не попадалось. Но мне удалось его заставить работать. Если интересно, могу выложить пример. Если возможно, перешлите пример на [email protected], а то никак не могу завести. Прерывания по приему идут, а ответ не передается. Кстати вот код, может кто что-нибудь подскажет: /*--------------------------------------------------------------------------*/ void UART_IRQ(void) { unsigned char comiid0 = COMIID0&0x06; if( comiid0==0x02 ) { // Орбаботка прерывания по передаче if ( buf[0]<=len ) COMTX = buf[len++]; else { COMIEN0 |= (1<<ELSI); // разрешение обработки прерываний len = 0x00; } } else { if( comiid0==0x04 ) { // Обработка прерывания по приему buf[len] = COMRX; if ( (buf[0]&0x0f)==len ) { // завершение приема команды COMIEN0 &=~ (1<<ELSI); // запрет обработки прерываний clocUart = 0x00; // запрет обработки тайм-аута обмена // FullUART = 0x55; // установка флага приема посылки ActiveTX(); } else { len++; clocUart = 10; } } else { // сброс необрабатываемых прерываний comiid0 = COMSTA0; comiid0 = COMSTA1; } } } /*--------------------------------------------------------------------------*/ void UART_Init(void) { unsigned short baund = 0x92; //Инициализация COM-порта COMCON0 = (1<<DLAB); COMDIV1 = (baund>>8); COMDIV0 = baund&0xff; COMCON0 = (1<<STOP)|(3<<WLS); // 8-бит + 2 стоповых COMIEN0 = (1<<ELSI)|(1<<ETBEI);//Радрешение прерываний по приему и передаче baund = COMIID0; // контрольный сброс прерываний len = 0x00; } //-------------------------------------------------------------------------- void ActiveTX(void) { COMTX = buf[len=0]; len++; } /*--------------------------------------------------------------------------*/ в UART_IRQ попадает при анализе флага (IRQSIG&UART_BIT) в обработке прерывания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 10 октября, 2006 Опубликовано 10 октября, 2006 (изменено) · Жалоба Подскажите, пожалуйста, есть ли более подробное описание UART ADUC702x, чем приведённое в даташите?Не попадалось. Но мне удалось его заставить работать. Если интересно, могу выложить пример. Если возможно, перешлите пример на [email protected], а то никак не могу завести. Прерывания по приему идут, а ответ не передается. Где может быть проблема: первые образцы кристаллов имели коэфф. умножения PLL 1376 и частоту около 45МГц, в последних даташитах указано 1275 и 41.7МГц. Я на этом довольно много времени потерял. Свой код прилагаю. Код выдернут из проекта и в "обкоцаном" виде не проверялся. P.S. Поборол природную лень и проверил/подправил приложенный код. Теперь компилится и работает. ADuC_UART.zip Изменено 10 октября, 2006 пользователем Сергей Борщ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IEC 0 11 октября, 2006 Опубликовано 11 октября, 2006 · Жалоба С частотой я уже разобрался: действительно частота ядра ниже! Синхронизировал длительность одного бита с помощью осциллографа (пришлось применить дробный делитель). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться