По ходу дел столкнулся с интересным багом: ровно в 00:00:00 программка с чтением COM-порта дает 1-2 таймаута. Таймаут сделан на обычном таймере. И получается, что в этот "волшебный" миг порт не может прочитать данные с контроллера. Хотя отправляет исправно. И вот я думаю: [offtop]это лыжи не едут, или я...[/offtop] винда что-то мудреное ресурсозатратное делает, или моя программа так интересно сделана? Стоит ХР, но даже на 7 заметил в полночь вроде тормозок секундный включается даже без моей программы.
Этот топик читают: Гость
|
Ответов: 704
Рейтинг: 7
|
|||
| карма: 0 |
|
|
Ответов: 3889
Рейтинг: 362
|
|||
|
Neo, интересный эффект. Видимо в системе в этот момент идёт переинициализация множества структур и записей, основанных на дате. Кроме того, немало приложений и служб назначают собственное обновление или сервисные операции на это время. Нужно ставить шпионы и мониторы производительности, моделировать ситуацию и отслеживать, чем занята система.
|
|||
| карма: 1 |
|
|
Ответов: 704
Рейтинг: 7
|
|||
|
1nd1g0, кстати, давно хотел поинтересоваться у специалиста в отладке: а есть ли какой софтик для этого дела? Что-то универсальное и проверенное для мониторинга. И еще: может есть смысл саму функцию чтения-записи в порт перенести в службу, а данные ей передавать от основной "логики"? Может она будет более приоритетно работать с портом?
|
|||
| карма: 0 |
|
|
Ответов: 3889
Рейтинг: 362
|
|||
|
Neo, Служба, запущенная от системы, конечно имеет некоторый приоритет. Но Windows не была и никогда не будет системой реального времени, которую вы из неё пытаетесь всеми силами изобразить. Наиболее "приоритетно" с портами работают только драйвера уровня ядра, сейчас (в современных ОС) у портов даже прерывания отключены, всё работает на циклическом опросе по таймерам. Если нужна точность и непогрешимость, сносить в системе всё кроме своей службыприложения. Если Вас встроенный в порт буфер не устраивает, делаете на контроллере прямо впритык к датчику буферизирующий приёмник с логикой реального времени. Можете даже статистическую обработку прикрутить, и забираете у него данные уже пакетами. Сейчас такие датчики уже серийно производятся - со всеми возможными интерфейсами, включая rs232, usb, WiFi. А микроконтроллеры достаточно мощные чтобы к ним прикрутить карту памяти за 3 доллара, на которую влезет несколько лет ежесекундных логов температуры или чего там у Вас.
------------ Дoбавленo в 15.50: Neo писал(а): Что-то универсальное и проверенное для мониторинга.Sysinternals procmon |
|||
| карма: 1 |
| ||
| Голосовали: | Neo |
|
Ответов: 704
Рейтинг: 7
|
|||
|
1nd1g0 писал(а): которую вы из неё пытаетесь всеми силами изобразитьВинда вроде и не плохо успевает и вполне себе работает. А "интересности" есть у всех систем. Многие программы ведь прекрасно работают под виндовс с теми же портами. Реальное время не нужно, главное все максимально оптимизировать. С термометром проблем нет, это с ИК-передатчиком/приемником балуюсь. |
|||
| карма: 0 |
|
|
Ответов: 1731
Рейтинг: 68
|
|||
|
[offtop]Ахах, написать программу которая будет постоянно переводить время на 00:00:00 - Win зависит ?
|
|||
| карма: 1 |
|
|
Ответов: 8978
Рейтинг: 825
|
|||
|
Cosinus, так карты в руки -- слабо? потом и здесь отрапортоваться
|
|||
| карма: 19 |
|
|
Ответов: 1731
Рейтинг: 68
|
|||
|
[offtop]ВНИМАНИЕ !!!
Запуск данного скрипта очень вреден для вашего процессора !!! set-time.rar[/offtop] |
|||
| карма: 1 |
| ||
| файлы: 1 | set-time.rar [244B] [57] |
|
Ответов: 3889
Рейтинг: 362
|
|||
|
Cosinus, ядро нагружается самим скриптом, больше смысла ставить время на 23:59:58 и назначить скриптприложение с установкой как задание на 00:00:00. На фоне запустить программу мониторинга и смотреть, что же такого происходит помимо нашего скрипта
|
|||
| карма: 1 |
|
|
Ответов: 1731
Рейтинг: 68
|
|||
|
[offtop]1nd1g0, ага, мне делать курсовую по Информатике, доклад по Биологии, готовиться к пробному ГИА, посмотреть фильм Грибы 3Д.
Да, мне заняться, то нечем |
|||
| карма: 1 |
|
|
Ответов: 3889
Рейтинг: 362
|
|||
|
Cosinus писал(а): мне заняться, то нечемМожет быть, т.к. достаточно было оставить от Вашего скрипта три строчки и сделать как я сказал. А смотреть не Вам предлагается, а ТС. |
|||
| карма: 1 |
|
|
Ответов: 704
Рейтинг: 7
|
|||
|
Все выяснилось: в полночь (и именно в полночь, а не в 00:00 при переводе времени
|
|||
| карма: 0 |
|
|
Ответов: 19
Рейтинг: 2
|
|||
|
При запуске некоторых программ в WINDOWS 7 выскакивает окно контроля учетных записей в котором написано, разрешить программе внесение изменений или нет, пользователь выбирает Да или Нет. Возможно ли также сделать для программы сделанной в HIASM, чтобы WIN 7 выдавало такое же окно???
|
|||
| карма: 0 |
|
|
Ответов: 3349
Рейтинг: 233
|
|||
|
Возможно
|
|||
| карма: 1 |
|
|
Ответов: 19
Рейтинг: 2
|
|||
|
Ivann, А не подскажете в какой теме прочитать или как это реализовать???
|
|||
| карма: 0 |
|



Поиск
Друзья
Администрация