lenny35 napisał: Niestety ale opcja wait nie nadaje sie do moich celów gdyż wtedy nie widzę co się dzieje z temperaturami, ciśnieniem układu. Wszystkie pomiary stoją. Cóż będę musiał poszukać podobnych programów i coś może wykombinuje. Dzięki za odpowiedzi!
Bedziesz wie musial uzyc jeden z wolnych timerow.
Ponizej masz przyklad zastosowanie timera 1 w trybie CTC. (z objasnieniami).
Pewne wpisy mozesz uproscic lub pominac albo dostosowac do wlasnych potrzeb.
Nie jest to jedyna i obowiazuja metoda na "Time Delay". Mozesz naturalnie uzyc Timer0, ale nie wszystkie processory supportuja CTC na Timer0. Nie musi tez byc CTC.
Zatem wiec rozwiazan moze byc wiele.
a oto szablon:
'1 second code
$regfile = "m48def.dat" ' or "m88def.dat" or "m168def.dat" - tu moze byc twoj AVR
$crystal = 4000000
$baud = 9600
$hwstack = 32
$swstack = 16
$framesize = 40
Dim Seconds_count As Long
' ======================================================
' Timer1 initialization
'
' Mode: Clear Timer1 on Compare Match (CTC mode TOP = OCR1A)
' System clock: 4 MHz
' Clock source: I/O Clock / 256
TCCR1A = &H00 'See datasheet for details
TCCR1B = &H0C 'See datasheet for details
' In CTC mode the counter is cleared to zero when
' the counter value (TCNT1) matches OCR1A.
' We will load the value 0x3D09 (15625) in OCR1A so that
' we will have an interrupt every second.
OCR1AH = &H3D 'Set OCR1A.
OCR1AL = &H09 'Set OCR1A.
On Oc1a Oc1a_isr
Enable Compare1a
' Reset the Timer1 count
TCNT1H = &H00 'Set Timer1 count to 0
TCNT1L = &H00 'Set Timer1 count to 0
Enable Interrupts
Do
Print "Elapsed seconds: " ; Seconds_count
Waitms 250
Loop
End
' ======================================================
' Timer1 Compare Match Interrupt service routine
Oc1a_isr:
Incr Seconds_count
If Seconds_count >= 86400 Then '86400 seconds = 1 day
Seconds_count = 0
End If
Return
Inny przyklad na dowolny timer (normal mode) mozesz wygenerowac przy pomocy malego kalkulatora "AVR Timer 1.25" opracowanego przez Ian Dobson.
A oto link:
http://www.planet-ian.com/start_e.htm
znajdziesz pod "Software tools"
Powodzenia
e marcus