Stranger21
Связался с лучшим, умри как все! (с)
- Сообщения
- 15 386
- Реакции
- 978
- Город
- UFA
- Авто
- Suzuki Grand Vitara 2.0MT 2008г; Toyota Corolla E150 1.6i 2007г ; ВАЗ21054 продан; WAZ21051 monomotronic утилизирован;ВАЗ21310 1.7i я7.2 J7ES 2001г Продан
таки перешел я на Паскаль ) к черту отладку в протеусе ) вааще теперь без отладки ((( ибо в микропаскале я не нашел как можно ножки дергать, а без дергания прога вертиться в воздухе ) ...ну а в потеусетеперь только просто старт и смотрим результат ) ...
ноГлвное, почти получилось перевести мифические цифры Таймер1 двух байт, в Милисекунды ))) .. написал так ---TMR1H*256 +TMR1L = получаем число 16и разрядное, потом это число делим на 250 (при 4 мегагерц 250тмр1=1мс) получаем количество милисекунд между прерываниями, тоесть период, вичитаем из него 5 мс, и делаем задержку .... и вот так почему не заработало нефига (((((
заработало вот так --- просто берем Старший байт таймера, вычитаем из него 5 Мс, и рисуем по нему задержку ) завтра подумаю почему не сработало по правильному варианту ... с этим вариантом, все ОК, только небольшое отклонение, на малых оборотах около 7 МС, к 6000 приближаемся к 5 мс, после 6000 естесвено все по нулям ) ..и еще косяк, вазможно в реальном железе не будет, при достаточно быстром изменении оборотов, наблюдаютсья глюки с длительностью, если повышаем, то длительность уменьшаеться .. это вызвано канешно же тем что длительность считаеться для следующего такта ((((по другому думаю ваще никак не посчитать ((.... думаю может перейти на 16 Мгц, будет быстрее считать тогда наверное ... хотя, момнт искры рисует всегда четко .. только это время накопления косячит (( ...
лана до лета еще долеко )) напишу надеюсь ) .... теперь нафиг на паскале пишу .. закалеб мну асм )) там ваще ппц заморочки лезут )
хатя может на чистом асме прога была бы быстрее ))
ноГлвное, почти получилось перевести мифические цифры Таймер1 двух байт, в Милисекунды ))) .. написал так ---TMR1H*256 +TMR1L = получаем число 16и разрядное, потом это число делим на 250 (при 4 мегагерц 250тмр1=1мс) получаем количество милисекунд между прерываниями, тоесть период, вичитаем из него 5 мс, и делаем задержку .... и вот так почему не заработало нефига (((((
заработало вот так --- просто берем Старший байт таймера, вычитаем из него 5 Мс, и рисуем по нему задержку ) завтра подумаю почему не сработало по правильному варианту ... с этим вариантом, все ОК, только небольшое отклонение, на малых оборотах около 7 МС, к 6000 приближаемся к 5 мс, после 6000 естесвено все по нулям ) ..и еще косяк, вазможно в реальном железе не будет, при достаточно быстром изменении оборотов, наблюдаютсья глюки с длительностью, если повышаем, то длительность уменьшаеться .. это вызвано канешно же тем что длительность считаеться для следующего такта ((((по другому думаю ваще никак не посчитать ((.... думаю может перейти на 16 Мгц, будет быстрее считать тогда наверное ... хотя, момнт искры рисует всегда четко .. только это время накопления косячит (( ...
лана до лета еще долеко )) напишу надеюсь ) .... теперь нафиг на паскале пишу .. закалеб мну асм )) там ваще ппц заморочки лезут )
хатя может на чистом асме прога была бы быстрее ))