Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Цифровые сигнальные процессоры (DSP) и их применение»

TWI (i2c) driver не работает на bf537 :(

Отправлено SSe 16 июля 2007 г. 17:08


VisualDSP++4.5 Build may 2006
bf537 rev.2
Эмулятора нет. На COM порт статистику вывожу

Ножки резистором подтянул. Смотрю осцилл SDA, SCL - не дергается (а должен же хоть один байт передать. ACK конечно нет)

все функции возвращают SUCCESS.
вот урезано, что я написал:

adi_int_Init(...);
adi_pwr_Init(...);

adi_dev_Init( devmgr_storage,
sizeof(devmgr_storage),
&response_count,
&devmgr_handle,
&imask_storage
);

adi_dev_Open(
devmgr_handle,
&ADITWIEntryPoint,
0,
NULL,
&twi_handle,
ADI_DEV_DIRECTION_BIDIRECTIONAL,
NULL,
NULL,
NULL
);

adi_twi_bit_rate rate={100,50};
ADI_DEV_CMD_VALUE_PAIR twiConfigTable[]= // configuration table for the TWI driver
{
{ADI_TWI_CMD_SET_HARDWARE, (void *)ADI_INT_TWI },
{ADI_DEV_CMD_SET_DATAFLOW_METHOD, (void *)ADI_DEV_MODE_SEQ_CHAINED},
{ADI_TWI_CMD_SET_FIFO, (void *)0x0000 },
{ADI_TWI_CMD_SET_RATE, (void *)(&rate) },
{ADI_TWI_CMD_SET_LOSTARB, (void *)1 },
{ADI_TWI_CMD_SET_ANAK, (void *)0 },
//{ ADI_TWI_CMD_SET_SCCB, 0 },
{ADI_TWI_CMD_SET_DNAK, (void *)0 },
{ADI_DEV_CMD_SET_DATAFLOW, (void *)TRUE },
{ADI_DEV_CMD_END, NULL }
};

te_1 = adi_dev_Control( twi_handle,
ADI_DEV_CMD_TABLE,
twiConfigTable
);

twiOutbound_SEQ_1D_Buffer.Buffer.Data = twiOutbound_Buff;
twiOutbound_SEQ_1D_Buffer.Buffer.ElementWidth = 1;
twiOutbound_SEQ_1D_Buffer.Buffer.CallbackParameter = NULL;
twiOutbound_SEQ_1D_Buffer.Buffer.pAdditionalInfo = (void *)9;
twiOutbound_SEQ_1D_Buffer.Buffer.ProcessedFlag = FALSE;
twiOutbound_SEQ_1D_Buffer.Buffer.pNext = NULL;
twiOutbound_SEQ_1D_Buffer.Direction = ADI_DEV_DIRECTION_OUTBOUND;

twiOutbound_Buff[0] = 0x5;
twiOutbound_Buff[1] = 0x4;
twiOutbound_Buff[2] = 0x7;
twiOutbound_Buff[3] = 0x6;
twiOutbound_Buff[4] = 0x3;
twiOutbound_SEQ_1D_Buffer.Buffer.ElementCount = 200;


adi_dev_Write( twi_handle,
ADI_DEV_SEQ_1D,
(ADI_DEV_BUFFER *)&twiOutbound_SEQ_1D_Buffer
);

В чем проблема может быть???

Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 2 вдвое:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru