Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   725 / 1320
(#) trudnai válasza potyo hozzászólására (») Ápr 14, 2010 /
 
Igen, bar engem szemely szerint jobban izgat az, hogy a chip is megjelent amint ez a demo board alapszik: MCP2200. Ha minden igaz, olcsobb lesz, mint az FTDI chipek (Farnell majdnem fele arat mutat).
(#) potyo válasza trudnai hozzászólására (») Ápr 14, 2010 /
 
Nem csak a demo boardra gondoltam én sem. Chipcad 400-430Ft áron írja a chipet.
(#) trudnai válasza potyo hozzászólására (») Ápr 14, 2010 /
 
Ja, latom mar 970Ft-t ir a legolcsobb FTDI-re... Azt hiszem jol jartunk ezzel az uj chippel, bar varjuk ki a veget, mennyire megbizhato, driverek kulonbozo op rendszereken stb...
(#) watt válasza potyo hozzászólására (») Ápr 14, 2010 /
 
Én már várnék egy olyan chip-et, aminél nem a sebesség a korlát(az FTDI-nek van: FT2232H és a FT4232H). A 12Mb/s elég karcsú. Egy dsPIC-et már nem szolgál ki. Egyébként nem rossz, csak nem jobb, mint egy 2550...
(#) Erick hozzászólása Ápr 14, 2010 /
 
Hellóztok!
Nekem olyan problémám lenne,hogy megépítettem itt az oldalon található PIC-es frekvencia mérőt, és az lenne vele a bajom,hogy amikor bekapcsolom,a kijelző nem ir ki semmi mást mint fekete kockákat. A bemenő jel tökéletesen uniformizálva van, a tápfeszültségek megvannak. Mi lehet vajon a probléma?
Jah és a nyák is az ami a cikkben szerepel.

Üdv Erik!
(#) icserny válasza watt hozzászólására (») Ápr 14, 2010 /
 
Idézet:
„Egyébként nem rossz, csak nem jobb, mint egy 2550...”
Sőt, még olyan sincs, mert a lábkiosztása alapján ez csak egy maszkprogramozott PIC18F14K50, amibe gyárilag belepakolták a USB CDC firmware-t, amit megfejeltek egy HID EP-vel is, amin keresztül konfigurálni (illetve a szabadon maradt lábakat matatni) lehet.

Arra mindenesetre jó, hogy nem kell a felprogramozásával bajlódni...Bővebben: Link
(#) szilva válasza icserny hozzászólására (») Ápr 14, 2010 /
 
Egy hülye ötlet: az MCP2200 doksijában azt írják, adnak egy dll-t a generic I/O lábak tetszőleges vezérléséhez, ehhez a 2.3 pontban az interface hívások is fel vannak vázolva. Ha ez ennyire jól dokumentált, akkor lehetne akár egy bitbillegtető programozó progit is írni a PC-re, olyasmit, mint az eddig soros vagy párhuzamos portokon kommunikálók, csak most az USB HID eszközön keresztül billegtetnék ezt a pár lábat. Így lehetne egy USB-s felületű, de nem felprogramozandó PIC-et tartalmazó programozónk...
(#) Hp41C válasza szilva hozzászólására (») Ápr 14, 2010 /
 
Sziasztok!

Itt a megoldás a tyúk - tojás problémára. Az USB felületű (pic) programozók tartalmaznak egy kontrollert is, amit fel kellene programozni a használatba vétel előtt. Az MCP2200 segítségével - a bit billegetés lehetne az aktuális kontroller programozása - fel lehetne programozni őket.... Biztosabban működne, mint a párhuzamos vagy a soros portra készült programozók.
(#) icserny válasza szilva hozzászólására (») Ápr 14, 2010 /
 
Ezzel ugyanaz a probléma, mint az USB-RS-232 átalakítókkal: elúszik az időzítés. Kiküldesz egy parancsot, hogy az RC7 álljon 1-be, s majd 1 ms múlva mehet a következő parancs, hogy menjen vissza 0-ba?

Ennél szerintem éltrevalóbb volna, ha valaki a Texas Instruments TUSB3410 USB-UART át alakítójára írna programot. Az ugyanis gyárilag tartalmaz egy olyan bootloadert, ami akár az USB porton keresztül is le tudja tölteni a firmware-t (a 16 kbájtos RAM-ba!). Csak ott kezdődik a bibi, hogy az egy másik világ, egy 8052-es MCU ketyeg benne...
(#) watt válasza szilva hozzászólására (») Ápr 14, 2010 /
 
Nekem is eszembe jutott, nem tartana semeddig vezérelni, van rá megoldásom, de pont abba a problémába ütköztem, amit icserny mester említett! Pedig milyen jónak tűnő ötletnek nézett ki!
(#) lidi válasza watt hozzászólására (») Ápr 14, 2010 /
 
És mi a baj ezzel a késleltetéssel ? Lassú lenne a felprogramozás ?
(#) watt válasza lidi hozzászólására (») Ápr 14, 2010 /
 
Nagyon lassú.
(#) szilva válasza icserny hozzászólására (») Ápr 14, 2010 /
 
A 8052 alapvetően nem gond, a diplomamunkám abból írtam

Ezt az időzítéseset azért csak ki kellene próbálni, hogy vajon mennyi az annyi. Amikor az AVR programozómat építettem, akkor volt egy hasonló megoldással gyakorlati tapasztalatom. A programozón FT232 csinálja az USB illesztést, maga a programozó firmware egy ATtiny2313-ban fut, és szabályos soros kommunikációval lehet vele beszélgetni. Ám az AVR-t is fel kellett programozni valahogy az első programozóhoz, és azt úgy tettem meg, hogy az FT232 megfelelő RS232-es lábait digitális jelszinten összekötöttem az AVR programozó lábaival, majd PonyProg-ot használva beleprogramoztam a firmware-t. A normál esetben maximum 10mp-ig tartó programozás negyed óra-húsz perc alatt zajlott le, de hibátlan lett!

Ebből kiindulva lehet, hogy ugyan lassú, de működő megoldás születhetne az MC2200-ból is, sőt, én megkockáztatom azt, hogy ha nem a soros portot kezelő interface-en keresztül billegtetünk bitet, hanem a direkt erre kitalált dll-en keresztül, akkor jóval gyorsabb is lesz a dolog. Azt is valószínűnek tartom, hogy az időzítésekben leginkább a minimumok a kritikusak, de ennek persze utána kellene nézni.

Ha lesz egy kis időm, mindenképpen be fogok szerezni egy ilyen cuccocskát, bár ahogy néztem, csak SMD-ben létezik. Hej, de jó lenne, ha DIP tokosban is kihoznák...
(#) szilva válasza watt hozzászólására (») Ápr 14, 2010 /
 
De Te az MCP2200-t próbáltad a saját dll-ével, vagy egy FT232-n pl. az RTS/CTS bitezést a soros porti függvényhívásokkal? Mert én azt gondolom, hogy nem mindegy!

Ha lenne energiád rá, lehet, hogy egy gyakorlati próbát megérne a dolog, beletenni valamelyik égetőprogramodba a kezelést.
(#) Hp41C válasza szilva hozzászólására (») Ápr 14, 2010 /
 
Szia!

Ezt a programozót általában egyszer használná fel az ember, az igazi programozójában használt kontroller beprogramozására - itt a programozási idő nem lényeges.
A régi égetőm (párhuzamos portos, bufferelt, külső táppal), Pentium I laptoppal, Dos alatt futó Turbo Pascal programmal is csak a port írási műveletek közötti idő kivárással volt gondom. (Az ISA buszos párhuzamos portoknál az írás / olvasás művelet idejét hadrver időzítéssel kb. 1us-on tartották, a műveletek közötti idő pedig a processzortól függött - a kivárásra egy másik portra vonatkozó műveletet használtam fel.) A 18F2550 -t is beprogramozta hibátlanul. Lépésenként végrehajtva a pascal programot sikeresen programoztam 16C84-et. A PicKit2 kb. 20-szor gyorsabb nála...

Az újabb pic kontrollerek programozási lapján is csak a Vpp és Vdd kikapcsolása közötti időre van minimum megadva (100ns) (ill. felfutási időkre, de az nem a függ a kommunikáció sebességétől). A programozást tetszőlegesen lassan lehet végezni...
(#) szilva válasza Hp41C hozzászólására (») Ápr 14, 2010 /
 
Igen, alapvetően én is ezt gondolom, de még talán akkor is van létjogosultsága, ha JDM helyett építi meg valaki, aki csak időnként fel akar egy-egy PIC-et mondjuk neten talált projektek alapján felprogramozni.
(#) watt válasza szilva hozzászólására (») Ápr 14, 2010 /
 
Teljesen mindegy melyik eszközről van szó, mert két egymás után következő állapotot csak két egymás után következő csomagban lehet elküldeni, ami 500Hz kapcsolási frekvenciájú órajelet eredményezne, ami, ahogy írtad nagyon lassú. Annyit nem ér az egész. Sajnos kommunikáció nélkül nem lehet USB-s égetőt építeni. Működni működne, csak nem győzné kivárni az ember.
(#) watt hozzászólása Ápr 15, 2010 /
 
Egy kérdésem lenne. A 16F887 esetében a Calibration szót (címe: 0x2009) ASM-ban és C-ben hogy lehetne megadni? Találkoztatok már ennek az állításával égető programokban? (Sajnos nincs ilyen PIC-em, de kéne az infó...)
(#) icserny válasza watt hozzászólására (») Ápr 15, 2010 /
 
Nem láttam még ilyen, de ezen a fórumon így írják:
  1. LIST          P=PIC16F887
  2. #include    p16f887.inc          
  3.        
  4.        ORG     0x2009
  5.        DW      0x0       ; vagy amit akarsz....
  6.        END
(#) Magashegyi hozzászólása Ápr 15, 2010 /
 
Üdv mindenkinek!
C30-as fordítót használok a kérdésem az lenne hogy hogyan lehet legegyszerűbben létrehozni egy olyan változót amelynek értéke 0-127 lehet? enum-ban felsorólni?.....elég csúnya úgy.
(#) trudnai válasza Magashegyi hozzászólására (») Ápr 15, 2010 /
 
  1. char valt1; // -128 - +127
  2.  
  3. unsigned char valt2; // 0 - 255;
  4.  
  5. struct valt3_st {
  6.     unsigned char bits:7;
  7. } valt3; // 0 - 127 ...
(#) icserny válasza trudnai hozzászólására (») Ápr 15, 2010 /
 
Én is ilyesmivel próbálkoztam, csak typedef-fel definiáltam a struktúrát:
  1. #include <p24Hxxxx.h>
  2. typedef struct mysplit {
  3.       unsigned m:7;
  4.       unsigned s:1;
  5.     } bit7;
  6.  
  7. bit7 a,b;
  8.  
  9. int main(void) {
  10.  a.m=12;
  11.  b.m=150;
  12. }


Ami nem tetszik:
1. Nem lehet a =12 formában írni, muszáj a.m-nek hívni.
2. A b.m=150;-re nem ad hibajelzést, csak warningot (warning: large integer implicitly truncated to unsigned type).

Valaki homályosítson fel, légyszi: a fenti deklarációban a struct utáni név (jelen esetben mysplit) tulajdonképpen mire szolgál/mire használható?
(#) icserny válasza icserny hozzászólására (») Ápr 15, 2010 /
 
Válaszolok magamnak: nem muszáj halmozni a neveket, tankönyv szerint így is lehet írni:

  1. struct mysplit {
  2.       unsigned m:7;
  3.       unsigned s:1;
  4.     };
  5.  
  6. struct mysplit a,b;


Bővebben: Link
(#) trudnai válasza icserny hozzászólására (») Ápr 15, 2010 /
 
A peldadban a bit7 a typedef-hez tartozo nev, mig a mysplit a struktura neve. Tehat:

  1. typedef struct mysplit {
  2.       unsigned m:7;
  3.       unsigned s:1;
  4.     } bit7;
  5.  
  6. bit7 a;
  7. struct mysplit b;

a es b ugyanaz tulajdonkepp. Van olyan fordito ahol a struktura nevet pl el lehet hagyni (nevtelen strukturak), ill. C++ eseteben a struct onmagaban is mar tulajdonkepp egy typedef, tehat akkor az a resz hagyhato el.

UI: Ja, kozben megtalaltad
(#) Magashegyi válasza trudnai hozzászólására (») Ápr 15, 2010 /
 
Köszönöm a segítséget!!
(#) watt válasza icserny hozzászólására (») Ápr 16, 2010 /
 
Én is próbáltam így de hibát ír a linker:
Idézet:
„Error - section '.org_3' can not fit the absolute section. Section '.org_3' start=0x00002009, length=0x00000002”

Az említett fórumon mintha kézzel állítgatnák a HEX állományt, vagy valamit félreértettem?
Leszedem a 8.50 MPLAB-ot, lehet, hogy a linkerem régi...
(#) watt válasza watt hozzászólására (») Ápr 16, 2010 /
 
A 8.50 MPLAB-al ugyanaz a linker települ(4.35) Szóval ez nem megoldás. Elég fura lenne, ha csak a hex állomány módosításával lehetne ilyet létrehozni. Azt nem is látom még, hogy az égetők foglalkoznak-e egyáltalán ezzel a területtel!?

szerk:
Módosítottam egy hex-et és a PK2 programja nem tudja értelmezni a 2009-es címet, azt írja, hosszabb a fájl, mint kéne. Most már csak az a kérdés, hogy ez a terület egyáltalán módosítható? Úgy látom kénytelen leszek venni egy ilyen PIC-et, mert nem jutok a -al WPB_F16_F18előrébb...
(#) Attila86 hozzászólása Ápr 16, 2010 /
 
TMR3-al szeretnék megszakítást generálni. Miért nem sikerül? :no:
  1. ;       TMR0 konfigurációja:
  2.         movlw   b'11010100'             ;számláló engedélyezve, 8 bites mód, belső oszcillátorról, lefutó élre, 1:32-es előosztó
  3.         movwf   T0CON
  4. ;       TMR3 konfigurációja:
  5.         movlw   b'10110101'             ;16 bites mód, belső oszcillátorról, 1:8-as előosztó
  6.         movwf   T3CON
  7.  
  8. ;**********************************
  9. ;       Megszakítások konfigurációja
  10.         clrf    INTCON
  11.         clrf    PIE2
  12.         bsf             INTCON, GIE                     ;globális megszakítás engedélyezés
  13.         bsf             INTCON, T0IE            ;timer0 túlcsordulás-megszakítás engedélyezése
  14.         bsf             INTCON, PEIE/GIEL       ;periféria-megszakítás engedélyezve
  15.         bsf             PIE2, TMR3IE            ;TMR3 megszakítás-engedélyezés
  16.         RETURN


Ja, PIC18F2423.
(#) watt válasza watt hozzászólására (») Ápr 16, 2010 /
 
Úgy tűnik, hogy ez a terület nem változtatható, törölni nem lehet, az írásáról sem említenek semmit. Annyit említ az adatlap, hogy az írás után le kell ellenőrizni ezt is, és akkor tekinthető késznek a folyamat. Ha esetleg más infótok van erről ,szívesen venném! Köszi!
(#) watt válasza Attila86 hozzászólására (») Ápr 16, 2010 /
 
Ebből nem derül ki. RCON.IPEN hogy van beállítva? Hogy kezeled le a megszakítást? Honnan tudod, hogy nem fut rá a megszakításra a program?
Következő: »»   725 / 1320
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