Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   431 / 1210
(#) Hp41C válasza djhans hozzászólására (») Júl 7, 2013 /
 
Melyikkel probáltad?
(#) Hilo hozzászólása Júl 7, 2013 /
 
Sziasztok, Nem tudom mennyire ide illő a kérdés, remélem tudtok azért segíteni.
12f683 PWM-jével elő állítottam egy változó frekvenciájú négyszögjelet. Nekem viszont szinusz jelre lenne szükségem. Kérdésem az lenne hogy van e olyan PIC ami képes erre, vagy hogyan tudom ezt megoldani?
Előre is köszönök minden segítséget!
(#) djhans válasza Hp41C hozzászólására (») Júl 7, 2013 /
 
Ezzel.
(#) kanoc86 hozzászólása Júl 7, 2013 /
 
Sziasztok!
Most kezdtem el pic-el és a programozást. Ma egész nap egy 16*2 soros kijelzöt próbáltam életre kelteni egy PIC16f628A-val de nem sikerül. Flowcode-val irtam hozzá valamit hogy kiirjon egy szót de nem jó.
Lehet hogy a bekötéssel lesz a gond, nem tudom...
Ha valaki tudna küldeni valami segedletet azt megköszönném.
Üdv
(#) bbalazs_ válasza kanoc86 hozzászólására (») Júl 7, 2013 /
 
Szerintem ez nem igazan pic-es kerdes. Talan az adatiranyokat ellenorizd, hogy biztosan digitalis I/O-e az a lab es biztosan jo-e az adatirany is.
Az LCD-nel tobb gond is lehet, a leggyakoribbak:
- nem jo a kontrasztfesz, tehat kiirja o, csak nem latod
- nem jo az inicializalasi szekvencia vagy keveset varsz a lepesek kozott (pl. tul gyirs az orajeled). Van idod az elejen, hasznalj mondjuk 3x-os varakozast mindenhol.
- nem jo a varakozas inputra. A legtobb esetben eleg egy x millisecundum varakozas, aztan irhatod a kovetkezo adatot. Jopar LCD nem is valaszol a statussal egyaltalan, ezert azzal nem erdemes sokat foglalkozni. Jo nagy rahagyas es kesz.
(#) Hp41C válasza djhans hozzászólására (») Júl 8, 2013 /
 
... A PK2Devicefile.dat -ra gondoltam, abból melyiket használtad?
(#) djhans válasza Hp41C hozzászólására (») Júl 8, 2013 /
 
Ezt használtam.
(#) djhans válasza Hp41C hozzászólására (») Júl 8, 2013 /
 
Bármilyen 16F84-re való hex-re ugyanazt írja ki felprogramozásnál.
(#) Hp41C válasza djhans hozzászólására (») Júl 8, 2013 /
 
Próbáld meg ezzel... (7777)
(#) djhans válasza Hp41C hozzászólására (») Júl 8, 2013 /
 
Ezzel sikerült. Nagyon szépen köszönöm a segítséget.
(#) ferkoo válasza kanoc86 hozzászólására (») Júl 9, 2013 /
 
Üdv itt tudnak segíteni.

Hibás link javítva.
-moderátor-
A hozzászólás módosítva: Júl 9, 2013
(#) Kovabe hozzászólása Júl 9, 2013 /
 
Sziasztok
Segitséget kérnék mert nem tudom értelmezni ezt a beállitást
  1. Start:         call    0x3ff
  2.  
  3.                bsf     STATUS,RP0     ; Register bank 1
  4.                movwf   OSCCAL          ; set oscillator frequency
  5.                movlw   b'00000010'
  6.                movwf   ANSEL          ; Analog I/O on GP1


Nem tudom most milyen frekin dolgozik a PIC. Ja és a lényeg hogy egy 12F675-ről van szó.
(#) icserny válasza Kovabe hozzászólására (») Júl 9, 2013 /
 
Idézet:
„Nem tudom most milyen frekin dolgozik a PIC.”
Fosc kb. 4 MHz, az utasításciklus így kb. 1 mikroszekundum.
(#) Hilo válasza Kovabe hozzászólására (») Júl 9, 2013 /
 
Pont tegnap olvastam el az ide vágó rész, de hogy ne lőjem le a poént ezzen a linken 3.5 ös pont alatt megtalálod a választ.
(#) Kovabe válasza icserny hozzászólására (») Júl 9, 2013 /
 
Köszönöm föleg ezt az 1us-t, ez volt a legföbb információ.
Köszi Hilo neked is, igy utolag már értem a dolgot csak a kapkodásban ezt a fontos részt elfelejtettem.
(#) Hilo válasza Kovabe hozzászólására (») Júl 9, 2013 /
 
Nem tudom mennyire vagy gyakrolott, nekem ez az oldal nagyon sokat segített én is úgy kaptam a linket.
(#) Kovabe válasza Hilo hozzászólására (») Júl 9, 2013 /
 
Gyakorlott? Egyáltalán nem, söt semenyire csak a flowcode-ot gyüröm de szerencsére sikerrel viszont a c illetve az asm totál messze áll töllem.
(#) cassis hozzászólása Júl 10, 2013 /
 
PIC18 on I2C re írok programot Mester módban.

  1. I2C_Start:
  2.         bsf             SSP1CON2,SEN                    ;Start
  3. I2C_Start_2:
  4.         btfsc   SSP1CON2,SEN
  5.         bra             I2C_Start_2
  6.         return
  7.  
  8. I2C_Stop:
  9.         bsf             SSP1CON2,SEN                    ;Stop
  10. I2C_Stop_2:
  11.         btfsc   SSP1CON2,PEN
  12.         bra             I2C_Stop_2
  13.         return
  14.  
  15. I2C_DataSend:
  16.         movwf   SSP1BUF,access                 
  17. I2C_DataSend_1:
  18.         btfss   PIR1,SSP1IF                    
  19.         bra             I2C_DataSend_1                 
  20.         bcf             PIR1,SSP1IF                    
  21.         return
  22.  
  23.  
  24. I2C_Send:
  25.         call    I2C_Start
  26.         movlw      b'01100000'                 
  27.         call    I2C_DataSend       ;device address
  28.         call    I2C_ACK_control
  29.         movlw   b'10101010'             ;reg address   
  30.         call    I2C_DataSend
  31.         call    I2C_ACK_control
  32.         movlw   b'01010101'          ;Data                     
  33.         call    I2C_DataSend
  34.         call    I2C_ACK_control
  35.         call    I2C_Stop


A fenti kód nem akar működni. Nekem úgy tűnik csak a START és a device megadott byte címe megy ki a porton.
Mi lehet a hiba?
A hozzászólás módosítva: Júl 10, 2013
(#) icserny válasza cassis hozzászólására (») Júl 10, 2013 /
 
Idézet:
„Mi lehet a hiba?”
Például rossz a cím és ACK helyett NAK jön az első bájt után.
(#) cassis válasza icserny hozzászólására (») Júl 10, 2013 /
 
A cím jó.
A fix és a konfigurálható rész is jó.
És az előbb kimaradt az ACK ellenőrzési algoritmus:
  1. I2C_ACK_control:
  2.         btfsc       SSP1CON2,ACKSTAT
  3.         bra             I2C_Error
  4.         return

De ha jól tudom az ACK és a NACK abban különbözik, hogy a salve NACK ot úgy adja, hogy nem húzza le az adatvonalat. Itt viszont lehúzza, mert btfsc éppen ezt figyeli.
A hozzászólás módosítva: Júl 10, 2013
(#) cassis válasza icserny hozzászólására (») Júl 10, 2013 /
 
És tényleg... Nem jön ACK.
Ezt az error rutint vizsgálva látom. Viszont a cím adatlap szerinti, és felhúzó ellenállások is vannak. Most hogy error rutinban várakozom látom, hogy a Data vonal magas, a CLK pedig alacsonyba húzva maradt. Elvileg ez lenne amíg a Slave elkészül állapot, de itt soha nem készül el...
(#) cassis válasza cassis hozzászólására (») Júl 10, 2013 /
 
No itt a megoldás, bemásolom hátha másnak is segít:

Not Acknowledge (NACK)
A NACK does not always indicate an error, but rathersome operational state which must be recognized and processed. As defined in the I2C protocol, the addressed Slave device should drive the SDA line low during ninth clock period if communication is to continue. A NACK event may be caused by various conditions, such as:

--There may be a software error with the addressed Slave I2C device.

---There may be a hardware error with the addressed Slave I2C device.

---The Slave device may experience, or even generate, a receive overrun. In this case, the Slave device will not drive the SDA line low and the Master device will detect this.

The response of the Master depends on the software error handling layer in the application firmware. One thing to note is that the I2C bus is still held by the current Master. The Master has a couple of options at this point, which are:

Generate an I2C Restart event

Generate an I2C STOP event

Generate an I2C STOP/START event

If the Master wants to retain control of the bus (MultiMaster bus) then a I2C Restart event should be initiated. If a I2C STOP/START sequence is generated, it is possible to lose control of the bus in a Multi-Master system. This may not be an issue and is left up to the sys-
tem designer to determine the appropriate solution.
(#) Buvarruha válasza cassis hozzászólására (») Júl 11, 2013 /
 
Lefordíthattad volna, így elég lett volna csak linkelni. Az oldal nyelve magyar.
(#) soos csaba hozzászólása Júl 11, 2013 /
 
Oké értem! akkor annyi a lényeg hogy mindig meg nézem az Ic adatlapját, és majd át kötöm a lábakat az IC-é foglalatnál ha szűkséges. Na ezzel akkor rendben vagyunk, de még mindig ott van az a probléma hogy a programozóm még mindég nem tudja meg írni ezt a fajta PIC-et, de viszont ott szerepel a programban ez a fajta PIC, csak sajnos szürkén lehet látni ezt a típust, és nem lehet rá kattintani ere a típusra, ezt a problémát hogy lehet ki küszöbölni?.
(#) pjg válasza soos csaba hozzászólására (») Júl 11, 2013 /
 
Amit írtam címet, programot próbáltad? Watt -ét.
(#) soos csaba válasza pjg hozzászólására (») Júl 11, 2013 /
 
Ne haragudj de nem lelem azt a programot, egyáltalán az a program futna az én égető panelem alatt?.
(#) pjg válasza soos csaba hozzászólására (») Júl 11, 2013 /
 
Ki tudja. Nem mondtad milyen égetőd van.
(#) soos csaba válasza pjg hozzászólására (») Júl 11, 2013 /
 
Ez egy Willem programozó volna. Ennyit ír még róla AD-MEM03 Prog.Paralel TIP WILLEM:
A hozzászólás módosítva: Júl 11, 2013
(#) soos csaba válasza pjg hozzászólására (») Júl 11, 2013 /
 
A linked nem működik!.
(#) pjg válasza soos csaba hozzászólására (») Júl 11, 2013 /
 
Ja! Ahhoz nem jó. Tanulmányozd ezt: Bővebben: Link
Következő: »»   431 / 1210
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem