[an error occurred while processing this directive]
С точки зрения скорости освоения проца лучше асма нет. C DSP/BIOS его можно так до конца и не освоить... CSL местами просто отвратен, как насчет полного запрета прерываний при передаче по тормозному I2C? как насчет циклов задержки for (i=0;i<32000;i++) { asm(" NOP") }? Смотрите оба примера в приведенном куске кода
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)
|
Отправлено
AntZ 27 ноября 2003 г. 08:17
В ответ на: Ответ: отправлено
Vasilyevich 27 ноября 2003 г. 08:01
|
|
|
|
int I2C_write(Uint16 *data,int length,int master,Uint16 slaveaddress,int transfermode,int timeout) {
int i,j,k,l,m;
int old_intm;
Uint16 temp=1;
old_intm = IRQ_globalDisable();
/* set in transmit mode */
I2C_FSET(I2CMDR,TRX,1);
I2C_RSET(I2CCNT,length); /* set the count register */
/* SKIPPED */
for (k=1;k
for (i=0;i<32000;i++) { /* delay loop */
asm (" NOP");
}
for (l=0;l<=timeout;l++) { /* check for NACK status */
temp=I2C_FGET(I2CSTR,NACK);
if (temp==0) break;
} /* SKIPPED */
IRQ_globalRestore(old_intm);
return 0;
} /* end of I2C_send */
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Ответ: — Vasilyevich (27.11.2003 08:27, 249 байт)
- Я с Вами полностью согласен, CSL и DSP/BIOS - нужные вещи. Другой вопрос, что качество их реализации вынуждает обходить их на ассемблере, особенно это касается CSL. Многозадачность - это да, неоспоримое преимущество DSP/BIOS — AntZ (27.11.2003 10:31, пустое)
- Если уж надо быстро - то это не BIOS. Это просто C+CSL. А BIOS требует отдельного изучания и разбирательства, что не способствует скорости написания программы. — SМ (27.11.2003 09:38, пустое)
- Жаль, что иногда приходится писать так, чтобы всё сразу работало быстро. — Руслан (27.11.2003 08:51, пустое)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru