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   1129 / 1203
(#) aroxol válasza kissi hozzászólására (») Aug 15, 2020 /
 
Igen, a számsorból kellene kalkulálni 6C-C2-t.

crc.jpg
    
(#) kissi válasza aroxol hozzászólására (») Aug 15, 2020 /
 
A számsort az eszközöd adta ki vagy honnan vetted ? --> a 6CC2 biztos jó ?!
(#) aroxol válasza Hp41C hozzászólására (») Aug 15, 2020 /
 
Értem. Azaz mégsem. Biztos vagyok benne hogy neked ez nem jelent problémát, de nekem ez még nagyon magas.
(#) kissi válasza kissi hozzászólására (») Aug 15, 2020 /
 
Mellékelem, hogy hogy jött ki, az excel-en látod...

ill. egy link, 2:40-körül nézegesd ( bár vannak benne hibák...):Bővebben: Link
(#) aroxol válasza kissi hozzászólására (») Aug 15, 2020 /
 
Igen biztosan jó. Az eszköz így adja ki.
(#) kissi válasza aroxol hozzászólására (») Aug 15, 2020 /
 
Nem sima összeadás, nézd meg az írásaimat!

szerk.: meg lehet csinálni táblázattal is, csak át kell gondolni/számolni !
A hozzászólás módosítva: Aug 15, 2020
(#) aroxol válasza kissi hozzászólására (») Aug 15, 2020 /
 
Nézem, probálok rájönni a megoldásra. Egyenlöre sötétben tapogatozom.
(#) kissi válasza kissi hozzászólására (») Aug 15, 2020 /
 
Most nézem, hogy a polinómot elrontottam, de így jött ki az érték.... ki kellene próbálni más számsorral is és kiderül!
(#) kissi válasza aroxol hozzászólására (») Aug 15, 2020 /
 
A videón látszik, hogy hogy kell, csak kérdés, hogy a polinóm jó-e ?!
Nekem ez az excel-es tábla régebben próbálva volt ( igaz csak 16 byte-ra!), ott jól működött!

szerk.: mérj vele egy-két másik értéket is és lesznek újabb számsorok próbálni !
A hozzászólás módosítva: Aug 15, 2020
(#) Hp41C válasza aroxol hozzászólására (») Aug 15, 2020 /
 
A Gooooogle a barátod...
- Tállázatos: MODBUS CRC16 táblázattal
- C nyelven: Microchip MODBUS CRC16 in C


És végül mind a táblázatos mind az algoritmusos megoldás assembly -ben AN00730 CRC16 for PIC16C5xx family
A hozzászólás módosítva: Aug 15, 2020
(#) aroxol hozzászólása Aug 15, 2020 /
 
F8041408EB167800002CE600004B19000501F300580000 Végeredmény: DDE9

F8041408F1152E00002BC100004B59000501F4005A0000 Végeredmény: FA24
(#) kissi válasza aroxol hozzászólására (») Aug 15, 2020 /
 
Ha beírod az excel-be, akkor ezek jönnek ki, azaz úgy kell kiszámolni !
(#) Firefighter1 hozzászólása Aug 21, 2020 /
 
Sziasztok!
A 12F629 mennyire barátságos PIC? RC repülőre kellene ledet villogtatni.. arra keresnék valami 8 vagy 10 lábut...
Nekem 6 kimenet kellene, de megalkuszok és az 5 is elég lehet...( ebbe csak 5 van)
(#) Bakman válasza Firefighter1 hozzászólására (») Aug 21, 2020 /
 
Az a kontroller egy szadista vadállat, le sem merem írni a nevét. 4 MHz-es belső oszcillátort tartalmaz és legalább 20 LED-et lehet rákötni Charlieplex üzemmódban. Csak óvatosan!
(#) Firefighter1 válasza Bakman hozzászólására (») Aug 21, 2020 /
 

Ez az üzemmód nagyon jó de ehhez én kevés vagyok, hogy le tudjam programozni!
Most a két eltolt "fázisú PWM-et szeretném megtanulni! Az elmult 4 évbe nem adtam rá a fejem.. de most nagyon kéne.
Mert 2 led eltérő sebességgel villog 2 másik meg szintén eltérővel halványul és fényesedik...
Amugy fain volt a válasz! Köszönöm!
(#) Bakman válasza Firefighter1 hozzászólására (») Aug 21, 2020 /
 
Attól, mert két LED eltérő sebességgel halványul és fényesedik, még nem kell eltolt fázisú PWM. Pl. PIC16F1825-ben van négy PWM csatorna, vagy PIC12F1840 és szoftveres PWM. Utóbbi csak nyolc lábú de kényelmesen nagy memóriaterületekkel.
(#) Bakman válasza Firefighter1 hozzászólására (») Aug 21, 2020 /
 
Apropó. Nyolc lábuk van és tartalmaznak két-két PWM modult: PIC12F1612 és PIC16F18313.
(#) Peet19 hozzászólása Aug 21, 2020 /
 
Sziasztok!
Egy olyan kérdésem lenne, hogyha van egy PIC-em ahol külső kristály oszcillátort használok az OSC1 és OSC2 lábakon, akkor ha lenne több PIC aminek szeretnék egy külső forrásból órajelet adni, pl. hogy totál szinkronban legyenek, akkor használhatom az OSC2 lábat ami CLKO is egyben (ebben az esetben)?
A többi PIC-nek csak az OSC1 lábára kell kötni ezt a kimenetet CLKI ? Mit kell csinálni az OSC2 vel ezeknél a PIC-eknél?
Előre is köszi a segítséget!
(#) kistee válasza Firefighter1 hozzászólására (») Aug 21, 2020 /
 
Valami ilyesmit akarsz építeni?
(#) Bakman válasza Peet19 hozzászólására (») Aug 21, 2020 /
 
Nem, azt a lábat nem kötheted tovább ebben a formában.

Valamivel állítsd elő a kellő frekvenciát és azt vidd körbe a kontrollerekhez. A PIC konfigurációban az External Clock üzemmódot kell választani, így a Clock Out láb szabadon felhasználható a kontrollereken.
A hozzászólás módosítva: Aug 21, 2020
(#) Peet19 válasza Bakman hozzászólására (») Aug 21, 2020 /
 
Értem, köszi. Tehát ha belső oszcillátort használok csak akkor vihetem át a többinek? Ez mennyire stabil? Attól függetlenül hogy szinkronban lesznek.
Az OSCCON 2.bitje a HFIOFS ahol a frekvencia stabilitást lehet beállítani. Ezt nem nagyon értem. 1 stabil 0 nem stabil. Ez miért van?
(#) Bakman válasza Peet19 hozzászólására (») Aug 21, 2020 /
 
Melyik PIC-ről van szó?

Ha több kontrollersz akarsz szinkron járatni, akkor mindenképpen külső órajelre lesz szükséged. Az "External Clock" konfigurációval azt állítod be, hogy a PIC a Clock In lábon várja az órajelet. Ezt megcsinálod minden PIC-nél és valamilyen külső órajelet vezetsz az összes Clock In lábhoz.
(#) Peet19 válasza Bakman hozzászólására (») Aug 21, 2020 /
 
Értem. Azt hittem hogy ha az egyiket beállítom belső oszcillátorra akkor az OSC2 -t kivihetem más PIC-ekhez mint bemeneti órajelet. Persze ezeknél az OSCCON2-nél beállítanám hozzá a biteket.
Hogy kell beállítani az OSCCCON és az OSCCON2 regisztereket ha egyszerű kristályt használok az órajel előállítására az OSC1 és OSC2 lábakon?
PIC18LF26K80
(#) Bakman válasza Peet19 hozzászólására (») Aug 21, 2020 /
 
Egyszerű kvarckristályhoz a konfigurációs biteket kell beállítani. CONFIG1H (lásd melléklet).

A képről látható, hogy van olyan beállítás, ahol a belső órajel használata mellett bekapcsolható egy Clockout funció is. A "probléma" ezzel az, hogy ez a belső órajelet néggyel osztja. Pl. ha a belső órajel 4 MHz-re van állítva akkor a Clokout lábon 1 MHz fog megjelenni. Nézd át a REFCON regisztert is, hátha érdekes lehet bár ha jól látom, ez is alapból osztja néggyel a kontroller frekvenciáját és ezt lehet tovább osztani.

Nem minden bitet lehet írni egy-egy regiszterben, valamelyik csak olvasható. A már említett OSCCON 2. bitje pl. ilyen.
(#) Peet19 válasza Bakman hozzászólására (») Aug 21, 2020 /
 
Értem, köszi. A példa kedvéért akkor a CONFIG1H regiszter bitjeit így állítom be ha 8MHz-es a kristályom:
7. bit 0 - kétsebességű indítás letiltva
6. bit (nemértem)
5. bit semmi
4. bit 0 (nem szorozzuk 4-el a frekvenciát)
3. - 0.bit 0011 (HS1 oszcillátor 4 - 16MHz)

Ez így jó? Vagy külön még meg kell adni hogy pontosan 8MHz az órajel?
(#) Bakman válasza Peet19 hozzászólására (») Aug 21, 2020 /
 
Így jó lesz. Ha minden igaz, valahol a fejlesztőkörnyezetben kell megadni a 8 MHz-et.

6. bit: külső órajelnél (pl. kvarc) van értelme. Ha az valamiért megszakad, akkor a kontroller átvált belső órajelre és ha engedélyezve van, generál egy megszakítást.
(#) Peet19 válasza Bakman hozzászólására (») Aug 21, 2020 /
 
Rendben, köszönöm. Ez az átváltás még egy kicsit homályos de tanulgatok folyamatosan. Most megyek dobok egy oldalast, holnap folytatom. Köszi szépen az eddigieket is.Szerintem még jövök.
(#) Firefighter1 válasza Bakman hozzászólására (») Aug 22, 2020 /
 
Köszönöm az ötletet!
Megnéze őket. Rájöttem közbe hogy a nyolclábú kompromisszummal is kevés, mert kell kell "bemenet is" amivel kapcsolom!
(#) Firefighter1 válasza kistee hozzászólására (») Aug 22, 2020 /
 
Kb igen!
Lenne fix álló, a fehér villógo navigációs, a piros ami halványul erősödik meg még lenne két fix erősségű.
Ezért kell megtanuljam ha több pwm-et szeretnék! egy az már megy!
(#) Peet19 hozzászólása Aug 23, 2020 /
 
Sziasztok!
Jól értem hogy a SET -el egy szimbólumnak értéket adok nem pedig egy regiszterre mutat?
pl.
szel set 0x12
hossz set D'14'
area set szel * hossz
szel set szel + 1

Az első "szel" 0x12 vagyis ez nem a 12H regiszter tartalma lesz?
Ha jól gondolom akkor ez binárisan B'00010010' ?
Vagyis decimálisan D'18' ?

A SET -re lehet úgy tekinteni mint C-ben az = -jelre?
Ezekre a szimbólumokra meg úgy mintha változók lennének?

Előre is köszi a segítséget!

Még egy kérdés:

Ha egy regiszter bitjeit szeretném megváltoztatni, akkor pl:

RXT equ 0x21 ; RXT néven hivatkozok a 21H című regiszterre
movlw B'00001010' ; belerakom WREG-be
movwf RXT ; W tartalmát áthelyezem RXT-be vagyis a 21H regiszterbe

RXT -t hogy kell tekinteni? Mint egy mutatót, vagy mint ténylegesen a 21H regisztert aminek van 8 bitje?
Jól írtam az utasításokat?
Következő: »»   1129 / 1203
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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