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

 
 
> CY7C68013 CyAPI
MALLOY2
сообщение Mar 18 2009, 13:57
Сообщение #1


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Решил написать небольшую сервисную программку на BC6 для CY7C68013 с использованием CyAPI.lib, использую асинхронный обмен, очень часто и не предсказуемо выскакивают invalid pointer operation. Это глюк в либе или я что то не так делаю, кто юзал либу есть ли там глюки ? На текущий момент программа ничего никуда не копирует просто отображает сколько прнято данных.

Вот тело нитки чтения.
Код
void __fastcall TUSBRead::Execute()
{
  int i,curr_buff;
  long ReceiveLength;
  for(i=0;i<COUNT_READ_BUFF;i++)
    {
       memset(&Buffers[i].inOverlap,0,sizeof(OVERLAPPED));
       Buffers[i].inOverlap.hEvent = CreateEvent(NULL, false, false, "USBIN");
       Buffers[i].Context = EndPoint->BeginDataXfer(Buffers[i].Buff,READ_BUFF_SIZE,&Buffers[i].inOverlap);
    };
  curr_buff = 0;
  while(!Terminated)
    {
      if (!EndPoint->WaitForXfer(&Buffers[curr_buff].inOverlap,1000))
        {
           //Непонятно что тут делать ???
        }
      EndPoint->FinishDataXfer(Buffers[curr_buff].Buff,ReceiveLength,&Buffers[curr_buff].inOverlap,Buffers[curr_buff].Context);
      Buffers[curr_buff].Context = EndPoint->BeginDataXfer(Buffers[curr_buff].Buff,READ_BUFF_SIZE,&Buffers[curr_buff].inOverlap);
      if(ReceiveLength)
        {
          RxCount += ReceiveLength;
        }
      if (++curr_buff == COUNT_READ_BUFF) curr_buff = 0;
    }
  EndPoint->Abort();
  for(i=0;i<COUNT_READ_BUFF;i++)
    {
      EndPoint->FinishDataXfer(Buffers[i].Buff,ReceiveLength,&Buffers[i].inOverlap,Buffers[i].Context);
      CloseHandle(Buffers[i].inOverlap.hEvent);
    };
}







Может кто примерчиком поделится, так как манул на либу желает лучшего....

Устройство работает 100% так как есть рабочая софтина писанная нашими программерами.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- MALLOY2   CY7C68013 CyAPI   Mar 18 2009, 13:57


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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 09:19
Рейтинг@Mail.ru


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