En AVR som inte gör som den blir tillsagd

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
VelcroMan
Inlägg: 52
Blev medlem: 16 november 2007, 07:13:30
Ort: Fågelmara

Inlägg 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?
peter555
Inlägg: 6047
Blev medlem: 12 februari 2006, 10:02:22

Inlägg av peter555 »

Det är ju en variant annars kan du göra så här.

http://www.sparkfun.com/commerce/presen ... BEE-2-Code
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg 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...
peter555
Inlägg: 6047
Blev medlem: 12 februari 2006, 10:02:22

Inlägg 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.
Wise
Inlägg: 431
Blev medlem: 17 maj 2005, 17:57:19
Ort: Hudiksvall
Kontakt:

Inlägg 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?
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg 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
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg 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.
peter555
Inlägg: 6047
Blev medlem: 12 februari 2006, 10:02:22

Inlägg av peter555 »

Det verkar som om Sodjan har rätt, om man läser på sdan 47 så ska det fungera.
Användarvisningsbild
Schnegelwerfer
Inlägg: 1863
Blev medlem: 8 november 2004, 13:46:56

Inlägg 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.
zebs
Inlägg: 36
Blev medlem: 5 mars 2008, 22:55:07
Ort: Norrköping

Inlägg 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... :)
Användarvisningsbild
Nisse
Inlägg: 908
Blev medlem: 9 juli 2006, 23:25:46
Ort: Kumla

Inlägg 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.
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Fast alla(?) AVR:er har ju inbyggt pullup på Reset-pinnen. Dock brukar värdet vara lite väl högt.
eqlazer
Inlägg: 923
Blev medlem: 22 september 2007, 13:53:45
Ort: Göteborg

Inlägg 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.
Användarvisningsbild
marcla
Inlägg: 311
Blev medlem: 19 juli 2006, 11:36:38
Ort: Gislaved

Inlägg 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"
zebs
Inlägg: 36
Blev medlem: 5 mars 2008, 22:55:07
Ort: Norrköping

Inlägg 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.... :?
Skriv svar