Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1190 / 1319
(#) treshold válasza Hp41C hozzászólására (») Ápr 29, 2015 /
 
Köszi.
Hogy milyen verziójú van fenn honnan tudom (1.63.14)?
(#) Ideiglenes válasza treshold hozzászólására (») Ápr 30, 2015 /
 
Nemrég írtam ezzel kapcsolatban egy picit hosszabban:

Pickit2 és az újabb vezérlők...
(#) Hp41C válasza treshold hozzászólására (») Ápr 30, 2015 /
 
Help / About lapon a Device File Version.
(#) Hp41C válasza Ideiglenes hozzászólására (») Ápr 30, 2015 /
 
Sok típus berakható a device file kiegészítésével. Kb 700 típus kezelésére lehet így felkészíteni.
A PIC32MX1x, PIC32MX2X, PIC32MZ, dsPIC33EV, PIC24EP, dsPIC33EP, stb. kezelése a firmware és a kezelő program módosítását igényli.
(#) Ideiglenes válasza Hp41C hozzászólására (») Ápr 30, 2015 /
 
Ezeknél az egyedi szkriptek módosításával már nem lehet többet elérni? Én nagyon megijedtem, amikor szembesülnöm kellett a ténnyel, hogy a újdonsült kiválasztott 8 bites vezérlőt nem kezelte a program. Egy nagy rakással vásárloltam belőle, mert a korábban használt típusnál lényegesen olcsóbban lehet hozzájutni. Szerencsére találtam megoldást a problémámra.
Sajnos a Pickit3<->linux összefüggésben kevset találok a neten, mindösszesen az MPlabX az, ami lekezeli. Ez viszont egy hatalmas monstrum azokhoz a feladatokhoz, amire én a vezérlőket használom. A Pickit2 előnye a parancssori kezelhetőség. Kíváncsi vagyok, mikor jön el a pillanat, hogy magasabb szintre kell mindenképpen váltanom. Mert az biztos, hogy előbb-utóbb bekövetkezik.
A hozzászólás módosítva: Ápr 30, 2015
(#) Hp41C válasza Ideiglenes hozzászólására (») Ápr 30, 2015 /
 
Egyenlőre a PICkit2 módosított Windows -os, grafikus felületű programjával lehet programozni az eddig valaha gyártott PIC típusokat a 16C -ktől a 32MZ -ekig és a még fejlesztés alatt álló 18F2xK40, 18F4xK40, 16F183xx, 16F188x típusokat, kivéve a PIC14xxx és a PIC17xxx eket. Még a OTP típuskokat is lehet egy vagy két külső adapterrel, a 16C5x -eket is, pedig azoknak az adat 12 vezetéken kell párhuzamos formában. Nézz át a PICkit2 továbbfejlesztése topikba.
A hozzászólás módosítva: Ápr 30, 2015
(#) treshold válasza Hp41C hozzászólására (») Ápr 30, 2015 /
 
Nekem 1.62.14 verzót ír ki.
Viszont nem találok sehol a neten 1.63.14 verziót.
Honnan tudnám letölteni?
(#) Hp41C válasza treshold hozzászólására (») Ápr 30, 2015 /
 
Idézet:
„Viszont nem találok sehol a neten 1.63.14 verziót.”

Sajnos elgépeltem. 1.62.14 verzióban már benne van.
(#) treshold válasza Hp41C hozzászólására (») Ápr 30, 2015 /
 
OK
Köszönöm szépen!
(#) Swarcy hozzászólása Máj 3, 2015 /
 
Sziasztok !
Tud e nekem valaki segíteni ? PIC18F65K22 típusról van szó és nem akarnak az időzítők működni !
A TMR1-et is meg a TMR2 őt is próbáltam valamiért nem megy de a TMR0 az megy.
Ebben a típusban a TMR1 hez van egy Gate controll is de azt nem használom és úgy sem megy.
A beállítások: Így néz ki a TMR2 inicializálása

  1. ;------ TMR2 szamalalo kijelzo kikapcsolashoz ha nem nyomok semmit és bekopcsolas után minden oke 30mp eltetevel kikapcsolja lcd-t---------------------------------
  2.                 bcf             PIR1,TMR2IF,0
  3.                 bsf             PIE1,TMR2IE,0           ;
  4.                 bcf             IPR1,TMR2IP,0           ;alacsony megszakitasu
  5.                 movlw   B'01111011'             ;16 es elöoszás 16 uóosztás tmr2 off
  6.                 movwf   T2CON,0                 ;
  7.                 movlw   0xff
  8.                 movwf   PR2
  9.  
  10. későbbi progi részletbe:
  11. bcf             PIR1,TMR2IF,0
  12.                         bsf             INTCON,INT0IE           ;Start Interrupt enable !!
  13.                         bsf             seti0,5,0                       ;lcd kikapcs jelzoje
  14.                         bsf             T2CON,TMR2ON            ;engedem TMR2 et lcd idozitoje
  15. ;********* Foprogi ***************************
  16. start                   clrwdt


Ennek ellenére nem fut az időzítő. Mplab-ot használok a software es szimulátorban megy az időzítő de beégetve már nem megy és ha ICD2 vel debbugolom akkor sem mükszik.
Előre is köszi a segítséget.
A hozzászólás módosítva: Máj 3, 2015
(#) Swarcy hozzászólása Máj 3, 2015 / 2
 
Sziasztok!

Az előző kérdésem tárgytalan sikerült megtalálnom a hiba okát.
Ebben a PIC típusban van 3 PMD regiszter ahol ki lehet kapcsolni a perifériák órajelét és így fogyasztást lehet csökkenteni. Na ez a TMR esetében ki volt kapcsolva
Üdv. mindenkinek
(#) haffre hozzászólása Máj 18, 2015 /
 
Sziasztok,
PIC16F1829-t használok, a B6 porton pozitív és negatív irányú megszakítással. Képtelen vagyok elérni, hogy az IOCIF törlődjön, pedig az IOCBF6-t (ill., a teljes IOCBF -t) törlöm, az A portokon pedig tiltva van a megszakítás. (Az IOCIF csak olvasható.) Így bemegy a megszakítás rutinba, de nem jön ki belőle. Tud valaki segíteni? (Ha magyarok tervezték volna, akkor RW lenne ez a fránya bit...)
Köszi előre is.
Haffre
(#) Hp41C válasza haffre hozzászólására (») Máj 18, 2015 /
 
Olvasd ki a port regisztert (PORTB).
(#) haffre válasza Hp41C hozzászólására (») Máj 18, 2015 /
 
Köszi a gyors választ, már ezt is próbáltam és nem segít.
(#) usane válasza haffre hozzászólására (») Máj 18, 2015 /
 
Mi adja a változást a B6 lábon? Nincs a megszakítás alatt egyéb megszakítás ami miatt tele lesz a verem?
Köss 2 LED-et a c portra és rakd rá az IOCAF és IOCBF-re , hogy az törlődik-e ha törlöd.
Egyéb helyekre is tehetsz jelző biteket, így le tudod tesztelni a programod, hogy hol akad meg.
Ha valamit tervezel azon is gondolkozz, hogyan tudod a hibákat ellenőrizni.
A hozzászólás módosítva: Máj 18, 2015
(#) proba válasza haffre hozzászólására (») Máj 18, 2015 /
 
Jó regiszterbankba írsz?
(#) Hp41C válasza haffre hozzászólására (») Máj 18, 2015 /
 
- Szimulátor: egy jó stimulus + MpLab szimulátor + néhány töréspont
- HW nyomkövető: PICkit3 nyomkövető + MpLab Szimulátor + tesztjel + néhány töréspont

Az alatt az idő alatt, amíg az első élet feldolgozod, nem érkezik már meg a másik él?
A hozzászólás módosítva: Máj 18, 2015
(#) haffre válasza Hp41C hozzászólására (») Máj 18, 2015 /
 
Sziasztok.
Köszönöm, hogy többen is próbáltok segíteni!
A programot proteusban tesztelem, mindegyik regiszter tartalmát látom. Az IOCAF mindig nulla (term. hiszen tiltva van), az IOCBF pedig törlődik. A PIC-t 16MHz-n járatom, a két megszakítás között 10ms telik el (hálózati fesz. null átmenet), tehát nem futhat be a futó megszakítás alatt egy újabb.
(#) Hp41C válasza haffre hozzászólására (») Máj 18, 2015 /
 
Értem én, hogy minden jó, de Te mégis azt mondod, hogy nem működik....
Megmutatnád a programot és a kapcsolást.
(#) usane válasza haffre hozzászólására (») Máj 18, 2015 /
 
És proteus alatt nem törlődik, vagy a valós kapcsolás?
Mert ha proteus alatt nem jó akkor össze kéne rakni.
Proteus nem tud mindent.
(#) haffre válasza usane hozzászólására (») Máj 18, 2015 /
 
Igazad lehet, bár a proteusban eddig még nem csalódtam, pedig már évek óta használom...
Valós kapcsolásba még nem tettem be, de a tanácsod alapján megteszem. A kapcsolást rövidesen felteszem. A program mikrobasicben készült.
(#) haffre hozzászólása Máj 18, 2015 /
 
Milyen fájlformátumot célszerű feltennem?
(#) haffre hozzászólása Máj 18, 2015 /
 
Ez jó?
(#) Hp41C válasza haffre hozzászólására (») Máj 18, 2015 /
 
A forrást mindenképen.
(#) haffre hozzászólása Máj 18, 2015 /
 
Csatolom.

palesz.mbas
    
(#) mateakos válasza haffre hozzászólására (») Máj 22, 2015 /
 
A LATB a Bank2-ben van, az IOCBF pedig a Bank7-ben. A 197. sorban kezdődő asm blokkod lehet, hogy rossz bankban működik, mert a fölötte levő i=LATB kifejezés hatására a fordító vagy Bank2-be váltott, vagy abba amelyikben i van (ha i nem common RAM területre került). Nem látom át teljesen, de a megszakítás kezelőből nem a globális i-t használod? (Bank0) Nem okoz ez gondot a főprogramban? Az is lehet, hogy TMR1L-t módosítod ezzel az asm blokkal a rosszul kiválasztott Bank miatt. Még a főprogramban is van valami IOCBF vizsgálat és törlés, ami lehet, hogy véletlenből maradt ott (394. sor). A port kiolvasása ennél a picnél fölösleges, de ha nem lenne az, akkor is a PORT-ot kellene olvasni a LAT helyett. Ha csak egy lábon használod az interrupt on change funkciót, akkor pusztán az IOCBF=0 is elég a flag törlésére.
(#) e-chipmunk hozzászólása Máj 22, 2015 /
 
Sziasztok egy pici segítség kellene Arduino-hoz.
A program a következő:
  1. int i;
  2. void setup()
  3. {
  4.   // initialize digital pin 13 as an output.
  5.   pinMode(13, OUTPUT);// no setup needed
  6.    Serial.begin(9600);
  7. }
  8.  
  9. void loop()
  10. {
  11.    for (i=0; i < 15; i++)
  12.    {
  13.       digitalWrite(13, HIGH);
  14.       delay(100);
  15.       digitalWrite(13, LOW);
  16.       delay(100);
  17.       Serial.println(i);
  18.    }
  19.  
  20. }

És csak villog-villog és villog. Én arra számítanék, hogy a 15. ki-be kapcsolás után leáll, de nem áll le. Van valakinek valamilyen ötlete, miért?
Cél: Villogjon 15-öt és utána álljon le.
Mit csinálok rosszul, ezzel a hihetetlenül szofisztikált feladattal?
A hozzászólás módosítva: Máj 22, 2015
(#) benjami válasza e-chipmunk hozzászólására (») Máj 22, 2015 /
 
Két hibát követtél el:
1. Rossz topikba írtál.
2. Mivel a loop() függvény végtelenszer hívódik meg (illetve amíg tápot kap a chip), villog 15-öt, majd újból villog 15, majd ...
Tedd a villogást is a setup() végére, vagy valami valami változóban számold meg a villogások számát és csak akkor villogtasd, ha még kisebb mint 15, vagy .... (még van pár megoldás).
(#) haffre válasza mateakos hozzászólására (») Máj 24, 2015 /
 
Szia,
Kiváló észrevétel és hozzászólás, köszönöm.
A LATB előtt volt PORTB is, hátha...
Az i globális változó, nem okoz problémát.
Az asm blokk valóban a TMR1L-t módosítja. Azonban ezen (Bankváltás) változtatva sem kaptam a várt eredményt.
A gépkönyv szerint: ha törlöm az IOCBF regisztert, akkor a hardver törli az ominózus flag-t. (IOCIF), törlöm, de ez a fránya flag nem törlődik. Ahogy bogarászom a netet, látom, másoknak is van ilyen problémája. Érthetetlen, hogy a Microchip miért nem enged egy jelző flag-t törölni...
Már több dolgot kipróbáltam (pl. csak felfutó éli megszakítás, az ezt érzékelő flag törlése, a megszakítási rutinban a számolási rész törlése, stb.), de eredmény még nincs.
(#) usane válasza haffre hozzászólására (») Máj 26, 2015 /
 
Átnéztem én is, és bár nem basic-es vagyok azért nagyjából átláttam.
1. Amit nem egészen értek, hogy minek az az ASM rész a megszakításba.
2. Nem láttam, bár lehet, hogy átsiklottam felette, de szerintem a basicben is kellene megadni megszakítás vektort.
Következő: »»   1190 / 1319
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