Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
|
||||
|
Доработка примера 'ReadData' - нужна помощь чайникуДобрый день! if(!WriteFile(hFile,IoReq[RequestNumber^0x1].Buffer, 2*DataStep, &FileBytesWritten,NULL)) { ReadThreadErrorNumber = 0x4; break; } Заранее спасибо! |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуНельзя заменить WriteFile на fprintf, потому что данные двоичные, а fprintf работает с текстом.
По вкусу можно добавить выравнивание по правому краю, разбивку на столбцы по каналам, преобразование в вольты, шапку таблицы и т.д. P.S. А если Вы имели в виду не fprintf, а fwrite, тогда файл должен быть открыт как двоичный (fp = fopen(filename, "wb")), ну и
|
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуСпасибо большое за ответ, обязательно попробую! |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуименно fprintf, чтобы текстовым редактором удобно было смотреть данные |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуАлександр,если не сложно, подскажите, чем можно смотреть файлы данных,создаваемых ReadData? |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуНапример, L-Graph I. |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуСпасибо! |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуПодскажите,пожалуйста, в строках примера:
0x2 - это число опрашиваемых каналов АЦП (2 штуки)? |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайнику1.
Это кол-во запросов, используемых при получение данных из модуля. Подробнее смотри описание функции ReadData() в руководстве программиста. 2. Если Вы читали руководство программиста, то могли заметить, что кол-во активных каналов АЦП задаётся исключительно полем ChannelsQuantity структуры типа ADC_PARS_XXX. |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуСтанислав пишет:
Чтобы лучше понять ответ Сергея, что это такое и почему два запроса, советую прочитать статью на нашем сайте про двойную буферизацию. |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуСпасибо за пояснения,обязательно прочту.
Где указать номер канала? 2. Могу ли я опрашивать только 2 и 3 канал, не опрашивая первый? Где указывать номер канала, если такой запрос возможен? |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайнику@Станислав, ну это же все написано в руководстве программиста. При этом, разумеется, кадры никак не связаны с порциями чтения данных, то есть buffer[0] содержит отсчет не обязательно первого канала, а следующего за последним в предыдущем буфере. Если не хочется с этим возиться, то надо, чтобы буфер был кратен кадру. |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуСпасибо за разъяснения,буду разбираться! |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуПоправьте, пожалуйста,если ошибаюсь. |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуСтанислав пишет:
Нумерация начинается с нуля в ControlTable и с единицы на разъеме, т.е. для каналов 2 и 3 ControlTable[] = { 1, 2 } |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуАлександр Е пишет:
Понял, спасибо, E154 |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуАлександр Е пишет:
Сделал в ReadData такую запись в файл (параллельно с
При этом счетчик на экране "Counter=...from.." не идет дальше 0. |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуВдобавок, не удается "переписать" этот пример в виде формы с кнопкой "старт". Дальше первого кадра запись не идет:( |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуПрошу прощения, снимаю 18 пост: запись не шла из-за наличия kbhit! |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуСтанислав пишет:
Вообще переменную, в которую один поток пишет, а второй ждет изменения (foo = 0; while (!foo) { код, не меняющий foo }) , надо делать volatile, а то компилятор имеет право заменить условие константой, потому что компиляция не учитывает многопоточности. Хотя конкретно этот компилятор ничего не соптимизировал. |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуПроблема, которую я описал в 17 посте для меня пока неясна. там же простой вывод в файл fprintf, почему не работает?!? |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуДобавлю. Запись идет "рядом" с WriteFile-ом, то есть, как я полагаю, в том же потоке... |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуДавайте по пунктам.
|
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуАлександр, добрый день!
при этом не обратил внимание на то, что i уже используется в цикле сбора данных, внутри которого я работаю:
Замена переменной i на j решила эту проблему! |
|||
|
||||
|
Re: Доработка примера 'ReadData' - нужна помощь чайникуПожалуйста |