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   1026 / 1210
(#) icserny válasza aviator17 hozzászólására (») Márc 24, 2018 /
 
Idézet:
„A leválasztó OPA, sajnos, nem tudom, hogy mit jelent.”
Feszültségkövető erősítő
(#) pajti2 válasza aviator17 hozzászólására (») Márc 24, 2018 /
 
Ha nem maradnál meg tisztán digitális területen, hanem analóg elektronikába is belekóstolnál, akkor azokra az alapokra is szükséged lesz. Analóg elektronikáról szerencsére magyar nyelvű doksik is vannak, de ami eszközöket érdemes felhasználni, azoknak az adatlapja már ugyan úgy angol. Ha az elméleti alapokat túlélted, és eljutottál az alkatrész választás problémájához, majd nézz el Microchip-ék oldalára is: Bővebben: Link
(#) Keresztes Vitéz hozzászólása Márc 27, 2018 /
 
Sziasztok! Tudna valaki segíteni léptetőmotor lineáris gyorsítás-fékezés programozásban? Nem vagyok profi, de talán már az elv is nagy segítség lenne. Jelenleg 13 lépcsőben megy a gyorsítás és a fékezés, de szerintem lehetne ezt jobban is. Asm-ben programozok. Köszönöm!
(#) Pali79 válasza Keresztes Vitéz hozzászólására (») Márc 27, 2018 /
 
Nem tudom, hogy pontosan most nálad miképpen van megcsinálva, de a vezérlőknek általában úgy tudom 5us magas szint kell a lépéshez. A forgási sebességet a magas szintek közötti alacsony szintek hosszával tudod szabályozni. Persze ennek is kell legalább 5us hosszúnak lennie, de egy ilyen rövid szünet már nagyon gyors lépéseket jelentene, le sem tudja követni a motor. Szóval nem kell mást tenned csak fékezésnél finoman kezded hosszítani az alacsony szintek hosszát.
(#) ktamas66 válasza Keresztes Vitéz hozzászólására (») Márc 27, 2018 /
 
Igaz, hogy ez DC motorra van, de talán az elméletet meg lehet belőle érteni, talán léptetőmotorra még egyszerűbb is, ráadásul ASM a példaprogram. Bővebben: Link
(#) Keresztes Vitéz válasza ktamas66 hozzászólására (») Márc 27, 2018 /
 
Közben sikerült összehoznom egy majdnem jó programot, még finomítanom kell rajt.
(#) apromax hozzászólása Márc 27, 2018 /
 
16 bites processzor esetén C ben hogyan lehet egy 16 bites regiszterbe úgy beleírni egy 8 bites értéket, hogy az byte írással történjen (MOV.B xxxxx )?
Azt meg tudom csinálni hogy Word írással a korrekt értéket írom bele, először az alsó, majd a felső byte -ot, de nekem az nem jó megoldás. Az kellene hogy ha pl. az alsó byte -ot írom, akkor a felső byte egyáltalán ne íródjon.
(#) Hp41C válasza apromax hozzászólására (») Márc 28, 2018 /
 
Sajnos a mintaprogramot már többször eltüntette a fórum motor....
A hozzászólás módosítva: Márc 28, 2018

pelda.c
    
(#) pajti2 válasza apromax hozzászólására (») Márc 28, 2018 /
 
Amire gondoltál, az inkább változó lehet. A regiszter asm-ben hozzáférhető. C-ben azt egy absztrakt felület rejti el előled, és még ha valami spec flaggel keresztül is lehet azon nyúlni valamelyik fordító esetében, az akkor is nagyon rossz ötlet.
(#) aviator17 válasza icserny hozzászólására (») Márc 29, 2018 /
 
Köszönöm a segítséget!

Azt szeretném még kérdezni, ha tudja valaki, hogy MPLAB X-ben hogyan tudok egy általam definiált változót megfigyelni a program futása közben. A Watch ablakot már megtaláltam, be is állítottam a változót, de nem mutat semmilyen értéket.
(#) Hp41C válasza aviator17 hozzászólására (») Márc 29, 2018 /
 
Debug / Debug main project.
(#) frekivalto hozzászólása Márc 30, 2018 /
 
Sziasztok.

Flowcode-ban programozok, szükségem lenne egy változó értékére megszakításban.

Egy változó értékét, hogyan tudok beolvasni C kóddal?
Ezt próbáltam, de nem jó, hibával leáll a fordító:
FCV_hangero_temp=hangero

Köszönöm!
(#) kissi válasza frekivalto hozzászólására (») Márc 30, 2018 /
 
Szia!

Nem ismerem a környezetedet, de C-ben minden utasítást ;-vel kell lezárni... !
(#) frekivalto válasza kissi hozzászólására (») Márc 30, 2018 /
 
Köszi, sajnos hibát dob.

Amúgy jó az utasítás?

FCV_hangerotemp=hangero;
(#) kissi válasza frekivalto hozzászólására (») Márc 30, 2018 /
 
C-ben írhatsz ilyet, ha vannak ilyen változóid !
Mi a hiba ( nyomj egy PrintScreen-t ) ?!
A hozzászólás módosítva: Márc 30, 2018
(#) frekivalto válasza kissi hozzászólására (») Márc 30, 2018 /
 
Parancsolj...
(#) frekivalto válasza frekivalto hozzászólására (») Márc 30, 2018 /
 
Közben láttam, hogy a Hangerotemp változó nagybetűvel lett írva. Javítottam kisbetűre, de úgy is hibát dob.
(#) Bakman válasza frekivalto hozzászólására (») Márc 30, 2018 /
 
  1. FCV_HANGEROTEMP=FCV_HANGERO;
Arra figyelj, hogy a két változó típusa nem egyezik, lehet, hogy ez is hibára fog futni emiatt.
A hozzászólás módosítva: Márc 30, 2018
(#) frekivalto válasza Bakman hozzászólására (») Márc 30, 2018 /
 
Köszi, így már hiba nélkül fordul.
Átállítottam mindkét változó byte típusú.

Még egy kérdésem lenne C kódal kapcsolatosan.

FCV_OW_CRC=CRCTABLE[HANGERO];
ez is hibára fut.

Azt szeretném, hogy a hangerő változó értékének megfelelő számot olvassa ki a táblázatból, és az legyen az OW_CRC tartalma.
Az ow_crc változót átállítottam INT típusú változóra. A táblázat 100 elemet tartalmaz, melyek 0 és 4100 közötti értéken vannak beírva.
(#) kissi válasza frekivalto hozzászólására (») Márc 30, 2018 /
 
Hogyan definiáltad a tábládat, mi a hibaüzenet ( ne kelljen már mindent harapófogóval kihúzni ! ) ?!
szerk.: A HANGERO definiálása is jó lenne !
A hozzászólás módosítva: Márc 30, 2018
(#) frekivalto válasza kissi hozzászólására (») Márc 30, 2018 /
 
Jól van naaa...
A hozzászólás módosítva: Márc 30, 2018
(#) kissi válasza frekivalto hozzászólására (») Márc 30, 2018 /
 
A tábla definiálása C-ben:
rom int CRCTABLE[100]={ ide jönnek az értékek vesszővel elválasztva ! };

szerk.: A definiálások nekem nem látszanak, de a HANGERO legyen char, az FCV_OW_CRC pedig int ( szerintem jól jársz előjel nélkülivel ! ) !
A hozzászólás módosítva: Márc 30, 2018
(#) frekivalto válasza kissi hozzászólására (») Márc 30, 2018 /
 
Most csatoltam a hibaüzenetet.
Nem a táblázat hibát ír ki, hanem változó hibát, ha jól látom.
(#) kissi válasza frekivalto hozzászólására (») Márc 30, 2018 /
 
Igen, azt írja, hogy nem tudja mi az a HANGERO ( nincs ilyen azonosító !) !
(#) frekivalto válasza kissi hozzászólására (») Márc 30, 2018 /
 
A hangero változó használva van több helyen is, definiálva is van.
A C kód miatt nem tudom mikor kell nagybetűvel írni, és (vagy) kisbetűvel.
A hangero értéke 0-99 közötti szám, byte típusú.
A hozzászólás módosítva: Márc 30, 2018
(#) kissi válasza frekivalto hozzászólására (») Márc 30, 2018 /
 
Egy változónak csak egy neve lehet, vagy nagybetűs vagy kicsi vagy kevert, de a C PONTOSAN figyel rá !!
(#) frekivalto válasza kissi hozzászólására (») Márc 30, 2018 /
 
Átírtam az összes változó nevét nagybetűkre, (HANGERO, HANGEROTEMP), STB...
Ugyanaz a hiba most is, nem ismeri a hangero változót
(#) kissi válasza frekivalto hozzászólására (») Márc 30, 2018 /
 
Akkor valahogy közölni kell vele, hogy van !
Nem ismerem az általad használt nyelvet, de a HANGERO milyen típusú: globális vagy lokális ?!
(#) frekivalto válasza kissi hozzászólására (») Márc 30, 2018 /
 
Gondolom globális. Nincs benne ilyen állítási lehetőség.

Létrehozom a változót, aztán bárhol használhatom.
(#) kissi válasza frekivalto hozzászólására (») Márc 30, 2018 /
 
Próbáld meg a C-s részben egy ilyet beírni ( persze a HANGERO-nek megfelelően !) :

extern char HANGERO;
Következő: »»   1026 / 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