Перейти к содержанию
    

C8051F320+USBXpress+Delphi

Пытался повторить пример из USBXpress F32x_TestPanel. Написал модуль для Delphi с описанием функций USBXpress. При этом функции SI_GetNumDevices, SI_GetProductString, SI_Open, SI_Read, SI_Write, SI_FlushBuffers, SI_SetTimeouts работают без ошибок. Программа на Delphi позволяет опрашивать устройство абсолютно также, как и программы на других языках, приведенных в примере. Однако при вызове процедуры SI_Close выдается ошибка:"Access violation at address 1000185A in module 'SiUSBXp.dll'. Read of address 00000088". Не могу разобраться в чем причина. Модуль подключения библиотеки присоединяю к сообщению.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня такая же проблема при использовании SiUSBXp.dll версии 2.4.0.0. Эта проблема отсутствует, если я использую SiUSBXp.dll версии 2.1.0.0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня такая же проблема при использовании SiUSBXp.dll версии 2.4.0.0. Эта проблема отсутствует, если я использую SiUSBXp.dll версии 2.1.0.0.

 

Не могли бы вы присоединить к сообщению старую версию драйвера.

Эта версия поддерживает F340 и F326?

Изменено пользователем Dmitriy_V

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

Эта версия поддерживает F340 и F326?

 

F326 - обязана, F340 - скорее всего, да.

 

Не смог приаттачить архив. Выложил его на rapidshare. Архив содержит USBXpress версий 2.1.0, 2.1.1, 2.3.0.

 

Странно, что на форуме Silabs никто не задавал вопросы по этой проблеме. Может эта проблема существует только для нас с Вами?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

F326 - обязана, F340 - скорее всего, да.

 

Не смог приаттачить архив. Выложил его на rapidshare. Архив содержит USBXpress версий 2.1.0, 2.1.1, 2.3.0.

 

Странно, что на форуме Silabs никто не задавал вопросы по этой проблеме. Может эта проблема существует только для нас с Вами?

 

Огромное спасибо. Опробовал старый драйвер, все прекрасно закрывается.

К сожалению, судя по тому, что примеров на F340 нет, то не поддерживает.

Странно что примеры на C и VB работают нормально.

Задавал подобный вопрос на форуме www.silabs.ru, до сих пор жду ответа.

Попробую задать вопрос на английском форуме SiLabs.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

Попробую задать вопрос на английском форуме SiLabs.

 

Вопрос задал, на следующий день пришел ответ. Оказывается вызывать функцию SI_CLOSE надо с параметром Handle типа указатель. Поэтому, после объявления данной функции следующим образом:

Function SI_Close(cyHandle:pointer):integer; stdcall; External FT_DLL_Name name 'SI_Close'

все стало прекрасно закрываться.

Изменено пользователем Dmitriy_V

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос задал, на следующий день пришел ответ...все стало прекрасно закрываться.

 

Спасибо Дима, что задали вопрос. :a14:

Для себя, на будущее, решил: вышла новая версия USBXpress - читаю описание, как в первый раз. :cranky:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...