Hur ska jag göra för att sätta RESET hög efter att spänningen är stabil? Kondensator(er) på något vis?peter555 skrev:Nope
En AVR som inte gör som den blir tillsagd
Det är ju en variant annars kan du göra så här.
http://www.sparkfun.com/commerce/presen ... BEE-2-Code
http://www.sparkfun.com/commerce/presen ... BEE-2-Code
Det beror ju väldigt mycket på hurvida du faktiskt *har* ett problem med
att din matningsspänning är långsam. I de flesta fall är det inget problem.
Många procressorer (kan inte uttala mig om AVR specifikt) har även en
egen delay inbyggd för att matningsspänningen ska hinna stabilisera
sig. På PIC'arna kallas det "Power on timer" (och är ca 70 ms om jag
inte mins fel på rak arm), du kan ju alltid kolla om det inte finns
något liknade i din AVR.
Men, som sagt, i 99 fall av 100 så är det inget problem, bara lägg
din reset pinne till 5V'en via ett motstånd så kommer den med stor
sannolikhet att starta upp rent och snyggt.
Allt med reservation för att AVR inte på något sätt är speciellt
känslig för att RESET direkt följer matningsspänning...
att din matningsspänning är långsam. I de flesta fall är det inget problem.
Många procressorer (kan inte uttala mig om AVR specifikt) har även en
egen delay inbyggd för att matningsspänningen ska hinna stabilisera
sig. På PIC'arna kallas det "Power on timer" (och är ca 70 ms om jag
inte mins fel på rak arm), du kan ju alltid kolla om det inte finns
något liknade i din AVR.
Men, som sagt, i 99 fall av 100 så är det inget problem, bara lägg
din reset pinne till 5V'en via ett motstånd så kommer den med stor
sannolikhet att starta upp rent och snyggt.
Allt med reservation för att AVR inte på något sätt är speciellt
känslig för att RESET direkt följer matningsspänning...
Jag tror inte den här processorn klarar det, från databladet.
PC6/RESET
If the RSTDISBL Fuse is programmed, PC6 is used as an I/O pin. Note that the electrical characteristics
of PC6 differ from those of the other pins of Port C.
If the RSTDISBL Fuse is unprogrammed, PC6 is used as a Reset input. A low level on this pin
for longer than the minimum pulse length will generate a Reset, even if the clock is not running.
The minimum pulse length is given in Table 28-3 on page 308. Shorter pulses are not guaranteed
to generate a Reset.
The various special features of Port C are elaborated in Alternate Functions of Port C on page
82.
PC6/RESET
If the RSTDISBL Fuse is programmed, PC6 is used as an I/O pin. Note that the electrical characteristics
of PC6 differ from those of the other pins of Port C.
If the RSTDISBL Fuse is unprogrammed, PC6 is used as a Reset input. A low level on this pin
for longer than the minimum pulse length will generate a Reset, even if the clock is not running.
The minimum pulse length is given in Table 28-3 on page 308. Shorter pulses are not guaranteed
to generate a Reset.
The various special features of Port C are elaborated in Alternate Functions of Port C on page
82.
Kod: Markera allt
$regfile "m168def.dat"
$crystal = 8000000
ddrc.5 = 1 'Sätt porten till utgång
LED_OUT Alias pinc.5
prg_start:
Set LED_OUT 'Sätt pinnen hög
Waitms 5000 'Vänta 5000ms
Reset LED_OUT 'Sätt pinnen låg
Waitms 5000 'Vänta 5000ms
Goto prg_start
end
-
- EF Sponsor
- Inlägg: 2109
- Blev medlem: 27 augusti 2005, 20:57:58
- Ort: Borlänge
AVRs motsvarighet till Power On timer konfigueras väl med SUT-bitarna (sid. 32).
Kod: Markera allt
Additional Delay from Reset (VCC = 5.0V) SUT1..0
BOD enabled: 14CK 00
Fast rising power: 14CK + 4.1 ms 01
Slowly rising power: 6 CK 14CK + 65 ms 10
Reserved 11
- Schnegelwerfer
- Inlägg: 1863
- Blev medlem: 8 november 2004, 13:46:56
Har kört bascomavr och vet till 100% att det skall vara portx.y i stället för pinx.y.
pinx.y används för input och portx.y för output
Exempel kod:
Så din kod bör bli:
pinx.y används för input och portx.y för output
Exempel kod:
Kod: Markera allt
Config portb = output 'Konfigurera portb för output
portb.1 = 1 'Sätt portb.1 hög
end 'END
Kod: Markera allt
$regfile "m168def.dat"
Config PortC.5 = Output 'Konfigurera portc.5 som output
Do
portc.5 = 1 'Sätt pinnen hög
Waitms 5000 'Vänta 5000ms (går även att köra "wait 5"
portc.5 = 1 'Sätt pinnen låg
Waitms 5000 'Vänta 5000ms
Loop 'Börja om från "Do"