|
Собственная библиотека для ADAM 5510 |
|
На Google Code выложили наработки, которые могли.
См эту тему (в конец). Конечно, нужно еще привести в порядок, разбить отдельные модули по директориям и т.п. и т.д. Теперь ваша очередь делиться. :) |
|
![]() |
|
|
Для Poison'a:
На этот код я уже забил болт. Я работаю с Вашим, переведённым на Pascal. Если ориентироваться на Ваш код: http://code.google.com/p/lib-adam-5000/source/detail?r=2 строки 656-663 то, выше Вы все данные закидываете в буфер, а затем ещё 1 байт принудительно передаёте, хотя по идее нужно выставить флаг передачи, чтобы ИСР начал работать. |
|
![]() |
|
|
2 Semelenov,
а в каком режиме открывал порт? в блокирующем? В блокирующем работа не тестировалась, тестировалась только с флагом UNBLOCK_MODE (если не изменяет память). И все работало как часы. Хотя, надо проверять.
|
|
![]() |
|
когда я разберал библиотеку Advantech то там было сделано именно так, только + был баг в этой части кода |
|
![]() |
|
|
|
![]() |
|
когда-то еще до внесение тобой изменения все режимы мною были протестированы, тогда режим влиял на функцию приема. т.е. в SIO_BLOCK_MODE режиме функция ждала пока не придет запрошенное количество байт, в SIO_UNBLOCK_MODE функция вынимала затребонное количество байт если в буфере меньше байт чем затребовано тогда вынималось что было и возвращалось количество вынутых байт. вспомни какую ты преследовал идею когда перенес режим в структуру порта? зачем блокирующей режим при передачи? |
|
![]() |
|
|
к Воробьев Владим
Перевожу и тестирую - выложу, как только будет всё ПОЛНОСТЬЮ проверено. |
|
![]() |
|
|
>>вспомни какую ты преследовал идею когда перенес режим в структуру порта? зачем блокирующей режим при передачи?
ХЗ. Типа для тех кто захочет дождаться окончания посылки этот режим в самый раз. Хотя да - он в принципе не нужен. |
|
![]() |
|
|
Кстати. Я изменил структуру проекта и "облагородил" его.
Можете развивать дальше. |
|
![]() |
|
|
При включении Watchdog'a - рестарт Адама...
Вероятно что-то не то с обработчиками прерываний... Рою дальше. |
|
![]() |
|
Ответить
|
Страница <1234> |
| Переход на форум | Права доступа на форуме ![]() Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |