реклама на сайте
подробности

 
 
> TWI (i2c) driver не работает на bf537 :(
sse
сообщение Jul 12 2007, 11:57
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 8-03-05
Из: Россия, Суздаль
Пользователь №: 3 159



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
);

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


--------------------
Serj
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Goblin_Nick
сообщение Aug 7 2007, 10:29
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 79
Регистрация: 23-10-06
Из: Тула
Пользователь №: 21 599



Для TWI есть примеры стандартные(не использующие правда драйвер), вроде работают.
Go to the top of the page
 
+Quote Post
sse
сообщение Aug 7 2007, 10:33
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 8-03-05
Из: Россия, Суздаль
Пользователь №: 3 159



Цитата(Goblin_Nick @ Aug 7 2007, 14:29) *
Для TWI есть примеры стандартные(не использующие правда драйвер), вроде работают.

Без драйвера сразу всё завелось (там регистров чуть), но так не интересно sad.gif


--------------------
Serj
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 12:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01363 секунд с 7
ELECTRONIX ©2004-2016