پاسخ : کمک در مورد سروو موتور
آقا یک دنیا سپاسگذارم از لطفتون. :agree:
اصلا باورم نمیشد وقتی تایپیک رو باز کردم و ...
بسیار بسیار ممنون و متشکرم از همه ی لطف و توضیحات دقیقتون.
فقط جناب مهندس منظور شما از 2 خط F_in=F_in << 8
F_in=F_in | TMR1L
در فرکانس متری این بوده که مقدار F_in رو که در TMR1H هست 8 بیت شیفت بدیم به چپ و بعد در TMR1L بریزیم، درسته؟!
که میتونه معادل دستور زیر باشه
F_in.byte1 = TMR1H
F_in.byte0 = TMR1L
درست عرض میکنم؟!
و چند تا سوال دیگه :redface:
یکی اینکه آیا لازمه اول برنامه پرچم وقفه ی سر ریز تایمر 1 بازنشانده بشه؟(PIR1.0 = 0)
و trisc.0 = 1 هم باید آورده بشه؟
و دومی هم اینه که محل آوردن ifها به این صورت درست هست؟!
again:
; main loop
;;;;;;;;;
if a = 40 then
F_in=TMR1H
F_in=F_in << 8
F_in=F_in | TMR1L
a=0
TMR1L=0
TMR1H=0
endif
if f >= 20 and f <= 25 then
servo1 = 0
endif
if f >= 35 and f <= 40 then
servo2 = 25
endif
.
.
.
تا سرووی هفتم
goto again
چشم، همین امروز تستش میکنم.
آقا یک دنیا سپاسگذارم از لطفتون. :agree:
اصلا باورم نمیشد وقتی تایپیک رو باز کردم و ...
بسیار بسیار ممنون و متشکرم از همه ی لطف و توضیحات دقیقتون.
فقط جناب مهندس منظور شما از 2 خط F_in=F_in << 8
F_in=F_in | TMR1L
در فرکانس متری این بوده که مقدار F_in رو که در TMR1H هست 8 بیت شیفت بدیم به چپ و بعد در TMR1L بریزیم، درسته؟!
که میتونه معادل دستور زیر باشه
F_in.byte1 = TMR1H
F_in.byte0 = TMR1L
درست عرض میکنم؟!
و چند تا سوال دیگه :redface:
یکی اینکه آیا لازمه اول برنامه پرچم وقفه ی سر ریز تایمر 1 بازنشانده بشه؟(PIR1.0 = 0)
و trisc.0 = 1 هم باید آورده بشه؟
و دومی هم اینه که محل آوردن ifها به این صورت درست هست؟!
again:
; main loop
;;;;;;;;;
if a = 40 then
F_in=TMR1H
F_in=F_in << 8
F_in=F_in | TMR1L
a=0
TMR1L=0
TMR1H=0
endif
if f >= 20 and f <= 25 then
servo1 = 0
endif
if f >= 35 and f <= 40 then
servo2 = 25
endif
.
.
.
تا سرووی هفتم
goto again
چشم، همین امروز تستش میکنم.
دیدگاه