![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| takedo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 501 Регистрация: 1.6.2005 Репутация: -1 Всего: 3 |
UniBomb, по поводу моих советов: объяснять долго, посмотри чего мы тут обсуждали. Меня никто не переубедил, сейчас я отказался таки от асинхронной работы - создал свою очередь RX и сделал все это в потоке!
http://forum.vingrad.ru/topic-64813/hl/com/index.html http://forum.vingrad.ru/topic-63763/hl/com/index.html там много лишнего, но может поймёшь, что при работе в асинхронном режиме может возникнуть непреодолимые (так как микрософт не засинхронизировал событие "пришел символ" и длину очереди) заковыки. Я по поводу извинений - так не обиделся Добавлено @ 15:34 UniBomb,
Добавлено @ 15:35 Про Федю то не обижайся - я к слову -------------------- я не гольфист - я хоккеист |
|||
|
||||
| UniBomb |
|
||||||
|
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
serge_mok,
А что за компилятор? Я вот всё тоже хочу на Си перейти, но как то руки не доходят... И кстати вопрос не по теме - как там обстоят дела с числами с плавающей точкой? Просто на асме математические функции с такими числами получаются уж дюже грамозкими...
С чего ты взял? Если чесно, то я никакого языка не учил (ещё со школы так сложилось, что преподы мне попадаются сплошь халявщики). Правда какое-то время занимался на доп.занятиях Английского... takedo Чтож, посмотрю, покумекаю... Может оно действительно лучше...
Это как раз есть... Посмотри в моём коде функцию Receive_Data(); - это по поводу длины очереди, а поп поводу пришёл символ - WaitEvent кажися... Это сообщение отредактировал(а) UniBomb - 12.12.2006, 16:24 |
||||||
|
|||||||
| serge_mok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 6.12.2006 Репутация: нет Всего: нет |
У меня тоже руки не доходили...всё думал, вот дождусь первой звезды
Мне что под руку попало тем и занимаюсь, а именно Image Craft 6.3. Прошиваю из под него же(но ему для этого обязательно нужен AvrStudio). С плавающей всё работает с полпинка...но занимает ВОТ СТОЛЬКО... . Например применение sin/cos/операции с плав точкой, - это займёт добрых 60-70 % памяти для например ATmega8... но зато: структурированные данные(с классами ещё не пробовал), удобство условных оперций ( if/ else), организация циклов, ну и вообще более логичная логика работы кстати, многопоточное прогр - мне это тоже предстоит.. |
|||
|
||||
| UniBomb |
|
|||
|
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
takedo,
Слушай, если не жалко, то выложи рабочий кусок кода с созданием нового потока, организации циклического чтения в потоке ну и т.д. Короче кусок, который я смогу вставить в свой проект, что бы всё заработало... |
|||
|
||||
| serge_mok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 6.12.2006 Репутация: нет Всего: нет |
промежуточня стадия между одно- и многопоточ :
...таки посмотрел твой код...нууу...тогда уж не дожидаясь никаких событий, раз в 2-3 мс читать предыд посылку buf_in, вызывать подряд WriteFile(..buf_out...&ovr),ReadFile(..buf_in...&ovr). тут же проверять успешный старт для передачи, и кол. реально принятых байт для приёма(+ ошибки предыд приёма) и сразу выходить ...приём/передача пусть сами собой работают( в асинх режиме), останавливаются по таймауту, выдают ошибки и тд., через 2 мс, сам зайдёшь и всё увидишь... .Это конечно не спортивно, по крайней мере тормозов не должно быть... Добавлено @ 10:49 ...и то и другое не пробовал, - это мысли вслух...так что сразу по голове не пинайте |
|||
|
||||
| UniBomb |
|
||||
|
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
serge_mok,
Надо будет посмотреть крафт..... Руки не доходили до него потому, что все проекты (которые были до меня) написаны на асме и соответсвенно надо всё с нуля делать...
брр... Мне нужно время что бы это всё дело переварить...
Кстати то же вариант... Эти функции были разработаны специально для работы с файлами в асинхронном режиме... |
||||
|
|||||
| UniBomb |
|
|||
|
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
up
И всё таки непонятно... Если всё делать в два потока - в одном только передача данных, в другом только приём, то что именно писать во втором потоке? Сработает ли такой кусок:
? В смысле всё время смотреть гетластеррором нет ли еррор_ои_пендинг и если нет, то читать файл... Все кто делал подобные программы в два потока - отзовитесь!!! |
|||
|
||||
| Vsts |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 10.1.2007 Репутация: 1 Всего: 1 |
попробуй так
|
|||
|
||||
| UniBomb |
|
|||
|
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
Vsts,
спасибо, надо попробовать)) |
|||
|
||||
| Vsts |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 10.1.2007 Репутация: 1 Всего: 1 |
а плюсик де ?;) ..
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |