Sida 3 av 3
Postat: 31 januari 2008, 21:04:55
av VelcroMan
peter555 skrev:Nope
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?
Postat: 31 januari 2008, 21:31:02
av peter555
Postat: 31 januari 2008, 21:33:21
av sodjan
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...
Postat: 31 januari 2008, 21:42:27
av peter555
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.
Postat: 31 januari 2008, 21:45:46
av Wise
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
Modifierat ur huvudet utan att testat, borde fungera. Förutsatt att du har avkoppling och reset rätt då som nämts tidigare. Sätter du fusebitsen rätt?
Postat: 31 januari 2008, 21:48:01
av thepirateboy
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
Postat: 31 januari 2008, 21:50:19
av sodjan
> Jag tror inte den här processorn klarar det,
Klarar vadå ?
> från databladet.
I ditt citat står inget om någon delay with power-on. Bara att det
finns en minsta pulslängd (under drift) för att det ska uppfattas som
en reset, vilket är normalt men också en annan sak.
Postat: 31 januari 2008, 22:01:40
av peter555
Det verkar som om Sodjan har rätt, om man läser på sdan 47 så ska det fungera.
Postat: 6 februari 2008, 00:47:35
av Schnegelwerfer
Hur är det det med alla andra IO-pinnar? Är de konfigurerade som utgångar eller ligger de och flyter?
Jag har märkt att AVR är väldigt känsliga för flytande ingångar... programmet brukar inte alls köra igång.
Postat: 29 mars 2008, 15:28:43
av zebs
Jag har aldrig haft ett motstånd kopplat till RESET, faktum är att jag aldrig har kopplat den till ngt annat än AVR ISP mkII:an... har fungerat jättebra...

Postat: 30 mars 2008, 17:12:52
av Nisse
zebs -> Det funkar jättebra ända tills du kopplar bort din AVRisp. Då slutar det funka eller med lite tur funkar slumpmässigt.
Postat: 30 mars 2008, 17:26:15
av cykze
Fast alla(?) AVR:er har ju inbyggt pullup på Reset-pinnen. Dock brukar värdet vara lite väl högt.
Postat: 30 mars 2008, 17:26:18
av eqlazer
Nyare AVR som tex mega88 har intern pull-up på reset. Till skillnad mot de äldre behöver man alltså ingen extern pull-up på dessa om man inte vill.
Postat: 30 mars 2008, 18:58:26
av marcla
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:
Kod: Markera allt
Config portb = output 'Konfigurera portb för output
portb.1 = 1 'Sätt portb.1 hög
end 'END
Så din kod bör bli:
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"
Postat: 30 mars 2008, 22:18:30
av zebs
Nisse skrev:zebs -> Det funkar jättebra ända tills du kopplar bort din AVRisp. Då slutar det funka eller med lite tur funkar slumpmässigt.
Nja, jag har aldrig i ISPn o det funkar lika bra utan... har kört både mega8 och 88an och 168an, aldrig några problem....
