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

 
 
> Не могу произвести запись в драйвер atm6124.sys из BasicUSB, at91sam7s.
Bulat
сообщение Sep 17 2008, 03:46
Сообщение #1


Местный
***

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



Прошивка контролера на основе BasicUSB, с драйвером atm6124ser работает все нормально, но мне не хватает скорости. Пытаюсь открыть драйвер atm6124.sys, CreateFile выполняется нормально, но далее при попытке произвести запись WriteFile возвращает ошибку!
Так я открываю драйвер в VC++ 8:
Код
HDEVINFO hDevInfo;
// {A5DCBF10-6530-11D2-901F-00C04FB951ED}
GUID Nguid =
{ 0xA5DCBF10, 0x6530, 0x11d2, { 0x90, 0x1f, 0x00, 0xc0, 0x4f, 0xb9, 0x51, 0xed } };
GUID *guid = &Nguid;        
        
hDevInfo = SetupDiGetClassDevs (guid, NULL, NULL, DIGCF_PRESENT|DIGCF_DEVICEINTERFACE); /*Мы попросили вернуть нам описатель для устройств, предоставляющих интерфейс с guid и присутствующих в данный момент в системе получаем краткую информацию для интерфейсов (в данном случае, для первого интерфейса в списке с подходящим guid)*/

PSP_DEVICE_INTERFACE_DATA devInfoData = (PSP_DEVICE_INTERFACE_DATA)malloc(sizeof(SP_DEVICE_INTERFACE_DATA));
devInfoData->cbSize = sizeof(SP_DEVICE_INTERFACE_DATA);
SetupDiEnumDeviceInterfaces(hDevInfo, NULL, guid, 0, devInfoData);
        
//Определим необходимую для хранения символического имени устройства длину буфера
unsigned long requiredlength;
SetupDiGetDeviceInterfaceDetail(hDevInfo, devInfoData, NULL, 0, &requiredlength, NULL);

//Узнаем символическое имя для устройства с заданным интерфейсом
PSP_DEVICE_INTERFACE_DETAIL_DATA DevInfoDetail = (PSP_DEVICE_INTERFACE_DETAIL_DATA)malloc(requiredlength);
DevInfoDetail->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);         
SetupDiGetInterfaceDeviceDetail (hDevInfo, devInfoData, DevInfoDetail, requiredlength, &requiredlength, NULL);        
        
//открытие порта
HANDLE port = CreateFile(DevInfoDetail->DevicePath,
                    GENERIC_READ | GENERIC_WRITE,
                    0,
                    NULL,
                    OPEN_EXISTING,
                    FILE_ATTRIBUTE_NORMAL,
                    NULL);
//проверка результата открытия порта
if (port == INVALID_HANDLE_VALUE) {pDoc->StringData1 = "failed opening";}
    else {pDoc->StringData1 = "cool opening";}

BOOLEAN Success;
unsigned char com_buf[28];//буфер ком. слов и слова режима
//заполнение буфера com_buf
            
com_buf[0]=0x30; //команда для командного процессора девайса: запрос подтверждения приема данных
com_buf[1]=mTMode[0];
com_buf[2]=mTMode[1];
for(int i=3;i<27;i++)
{
    com_buf[i]=mCWord[i-3];
}
com_buf[27]=0x0;
                
//Запись в файл                
ULONG nBytes=28;
Success = WriteFile(port, &com_buf, 28, &nBytes, NULL);//Запись слова режима, ком. слова            
//ожидание окончания записи в файл
if(!Success ) //|| ( nBytes != sizeof(VENDORPACKET) ) )
{
    pDoc->StringData1 += " failed to write";
} else
    {
        pDoc->StringData1 += " write successful";
    }

Код возвращат " failed to write".
Кто-нибудь сталкивался с такой проблемой?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Bulat   Не могу произвести запись в драйвер atm6124.sys из BasicUSB   Sep 17 2008, 03:46
- - prottoss   Цитата(Bulat @ Sep 17 2008, 11:46) Пытаюс...   Sep 17 2008, 04:02
|- - zhevak   Цитата(prottoss @ Sep 17 2008, 10:02) как...   Sep 17 2008, 04:53
|- - prottoss   Цитата(zhevak @ Sep 17 2008, 12:53) Я не ...   Sep 17 2008, 05:19
|- - Bulat   Цитата(prottoss @ Sep 17 2008, 11:19) . В...   Sep 18 2008, 07:24
|- - SergeiCh   Цитата(Bulat @ Sep 18 2008, 14:24) О како...   Sep 18 2008, 07:34
|- - Bulat   Цитата(SergeiCh @ Sep 18 2008, 13:34) Вид...   Sep 18 2008, 08:10
|- - SergeiCh   Цитата(Bulat @ Sep 18 2008, 15:10) А я ду...   Sep 18 2008, 08:36
|- - Bulat   Цитата(Bulat @ Sep 18 2008, 14:10) А я ду...   Sep 18 2008, 08:50
|- - SergeiCh   Цитата(Bulat @ Sep 18 2008, 15:50) Поэтом...   Sep 18 2008, 09:59
- - Aurochs   Драйвер at6124 хитро скроен. Для него нужно открыв...   Sep 19 2008, 23:28
- - Bulat   Цитата(Aurochs @ Sep 20 2008, 05:28) Драй...   Sep 22 2008, 07:51
- - Aurochs   Цитата(Bulat @ Sep 22 2008, 10:51) После ...   Sep 22 2008, 11:19
- - Bulat   Цитата(Aurochs @ Sep 22 2008, 17:19) Похо...   Sep 23 2008, 02:48
- - Bulat   Да и еще вопрос!) Я похоже неправильно приписы...   Sep 23 2008, 05:15
- - Aurochs   Цитата(Bulat @ Sep 23 2008, 08:15) Да и е...   Sep 23 2008, 07:21
- - Bulat   Цитата(Aurochs @ Sep 23 2008, 13:21) Ну, ...   Sep 23 2008, 17:01
- - Bulat   Извиняюсь, что опять поднял тему, но у меня пробле...   Sep 24 2008, 17:27
- - Aurochs   Цитата(Bulat @ Sep 24 2008, 20:27) Так во...   Sep 24 2008, 21:13


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

 


RSS Текстовая версия Сейчас: 17th June 2025 - 16:33
Рейтинг@Mail.ru


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