Sari la conținut
ELFORUM - Forumul electronistilor

Probleme de incepatori


Postări Recomandate

atunci ar fi o idee să faci un backup la ”my documents” și la ce date esențiale mai ai prin C:, o listă cu ce softuri ai instalate în ”programs”, și să faci o instalare de windows ”pe curat”, adică după ce ștergi și formatezi C-ul...de partiția C: vorbesc, nu de tot hardul primar, da??? :Dmă gândesc și eu serios la același lucru... și mai precis, să fac downgrade la XP SP3... win7 cam are niște ”scame” ici-colo, XP-ul măcar e documentat de cum se poate ”aranja” pe ici-colo... în punctele esențiale :)

Link spre comentariu

salutare tuturoram un termo cu atyny2313 care merge perfect dar as vrea sa pun softul pe un atmega8. am mutat segmentii pe portulC pentru ca pe portulB ar fi un segment pe cuart. nu stiu sa compilez si ce sa modific in soft ca sa mearga pe portulC. Am citit i pdf atmega8 ca daca dau disable la reset obtin in/out pe acel pin.segmentul1 este pe portulC0 iar 7pe reset portulD ramane nemodificat mai jos postez schema originala si softul multumesc anticipat

schematic.pdf

Link spre comentariu

Poţi folosi liniştit pinii de cuarţ ca intrări, rămîne doar să foloseşti oscilatorul RC intern. Nu-ţi recomand să dai disable la pinul de reset decît dacă ai un programator high-voltage. Programarea serială nu va mai funcţiona cu pinul de reset dezactivat.

 

Segmentele şi digiţii sînt definiţi aici:

#define segment PORTB#define LED_digit PORTD
Link spre comentariu

Poţi folosi liniştit pinii de cuarţ ca intrări, rămîne doar să foloseşti oscilatorul RC intern. Nu-ţi recomand să dai disable la pinul de reset decît dacă ai un programator high-voltage. Programarea serială nu va mai funcţiona cu pinul de reset dezactivat.Segmentele şi digiţii sînt definiţi aici:

#define segment PORTB#define LED_digit PORTD
m-am uitat pe "fusebit calculator "si am vazut 3 variante pentru internal RC 4MHz dar nu stiu pe care sa o folosesc...nu stiu sa interpretez ce scrie acolo [de ex start up time 6CK+64ms]intre timp am facut cablajul pentru configuratia de portC am definit segmentii pe portulC#define segment PORTC#define LED_digit PORTDdar nu afiseaza nimic{nu am dat disable la pinul reset. m-am gandit ca nu va merge segmentul g si nu am setat fusebitii . Apoi am modificat DDRB=0xFF; PORTB=0x00; DDRD=0x7F; PORTD=0x00;cu DDRC=0x12; PORTC=0x00; DDRD=0x07; PORTD=0x00;nu ma intreba de unde am luat valorile ...le-am pus la ghici si afiseaza 11 si atat.la attiny chiar daca nu setam fusebitii afisa 43C/-9C si cam atat ,dar aici e ceva ciudat ...oricum voi face pe varianta de port B , dar nu stiu sa setez fusebitii...poate ma ajuti cu un sfat...am deblocator, dar nu as vrea sa il folosec prea des ...atmega8 pe care il am e smd [MLF]...
Link spre comentariu

Salutare, am si eu o problema.

Am un program scris de mine in bascom avr.

Problema este ca atunci cand rulez functia din interrupt nu mai revine la loop-ul principal. Ce este de facut?

 

Am asa:

On Int1 SchimbaEnable Int1Config Int1 = FallingEnable Interrupts

si

Function Schimba() As Byte  B = Iastare()  Locate 1 , 5  Lcd B  If B = 0 Then     Status = Deschideporti()  End If  If B = 1 Then      Status = Inchideporti()  End If  Schimba = 1End Function
Daca scot schimba = 1 nu imi mai iese din functie.

Daca las schimba = 1 imi iese din functie dar la urmatorul interrupt nu mai are nici un efect.

 

Ceva idei?

Multumesc

Link spre comentariu

De ce folosesti functia ca rutina ISR? Functia, din ce cunsc eu , se utilizeaza cand doresti sa afli un rezultat al unei ecuatii. Si tu nu ai de aflat acolo, nici un rezultat al nici unei ecuatii, caci,dupa cum vad, la finalul ei (al functiei) declari direct: "schimba=1". In loc de functie foloseste subrutina apelata de isr si terminata, cum a zis si RoGeorge, cu RETURN, cum ar fi normal.

Link spre comentariu

si cu subrutina la fel face:

 

 

 

Sub Sdeschideporti()    If B = 1 Then      Locate 1 , 1      Lcd "potile sunt deschise"    End If    If B = 0 Then       Do         Cls         Locate 1 , 1         Lcd "deschidem"         Wait 1       Loop Until Iastare() = 1       Lcd " OK"       Wait 3    End If    returnEnd SubSub Schimba2()  B = Iastare()  Locate 1 , 5  Lcd B  If B = 0 Then     Sdeschideporti  End If  If B = 1 Then     Sinchideporti  End If  ReturnEnd Sub
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări