(05-09-2018, 20:40)qbic napisał(a): Udało mi się osiągnąć dokładność 1us (mógłbym więcej ale nie wiem czy jest sens). Użyłem inputCaptureMode Timera3, długo walczyłem z rejestrami i wszystkim co z nimi związane ale udało się (mam nadzieje!)
Nie dokładność 1us ale rozdzielczość. Max na Arduino z AVR to 62,5ns, zmieniając taktowanie na 20MHz to 50ns.
Przewiduję, że niedługo przestaniesz bawić się Arduino, bo jak widzisz, aby zrbić cokolwiek sensownego, trzeba poznać architekturę uC i działać na rejestrach bo nie ma możliwości korzystania z "dobrodziejstw" Arduino. To samo jest w Bascom, który "umiera", Arduino, też kiedyś umrze i dobrze, bo założenia Arduino były inne a wszystko poszło w innym kierunku. Nie Arduino, daje możliwość debugowania kodu, a to przyspiesza prace kilka a nawet kilkanaście razy. W małym projekcie, czy robisz tydzień czy miesiąc nie ma znaczenia, w większym, różnica miesiąc a rok już jest zauważalna. Jak to jest praca zarobkowa, to bez debugera na chleb nie zarobisz.
W kodzie masz:
Kod:
(startOverflowCounter * 65536)
Kod:
(startOverflowCounter << 16)