Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   810 / 1320
(#) szaffo555 válasza Hp41C hozzászólására (») Okt 2, 2010 /
 
hát igen az volt az egyik gond, hogy nem méretarányos ez a fránya memory map. A 15. bankot kétszer akkorának mutatja, mint az összes többit, így a felét (ahol a le nem képzett SFR és az Access RAM határvonala van) már a végének láttam..
Abból jöttem rá, hogy a bank15 is 0xFF hosszú és ott van kiirva az ábra bal olalán alul.
Így már világos hogy (ha jól gondolom) hogy milyért jó a BSR -el lévő kód, hiszen a bank15 ben vagyunk TRISC esetén is.
Már csak az a kérdés valójában mire jóaz access bank, ha lényegében minden SFR megvan a bank15 ben, sőt még azok is, amik eseteg nem fértek bele. (pl. UCFG)
Talán azért, mert így együtt lehet kezelni őket az accessben bankváltás nélkül a gyakran használt változókkal?
(#) icserny válasza Poostmaster hozzászólására (») Okt 2, 2010 /
 
Idézet:
„amikor a PIC-et kiválasztottam, alapból a 8 MHz-et állította.”
Aranyos, de az OSCCON regiszter bekapcsolás (POR) utáni alapértelmezett beállása: IRCF=110, azaz 4 MHz!
(#) cNobody válasza Poostmaster hozzászólására (») Okt 2, 2010 /
 
Szóval akkor mikroPascal, a mikroelektronika szoftverje nem?

Ha project-et hozol létre akkor a második lépésben nem azt kérdezi meg hogy mennyi legyen a PIC frekvenciája, amin ketyegjen, hanem azt hogy mennyire van beállítva, hogy az időzítések jók legyenek. A kettő különböző dolog.
A PIC frekvenciáját a configgal tudod beállítani, mondjuk a project menü -> Edit project menüpontban.

A programban pedig jobb oldalt a Project Settings-ben ha kinyitod, ott tudod átírni az időzítésekhez tartózó frekit.
(#) Poostmaster válasza cNobody hozzászólására (») Okt 2, 2010 /
 
Értem.
Átállítottam 4-re, így jó.
Köszi.
(#) szaffo555 válasza szaffo555 hozzászólására (») Okt 2, 2010 /
 
még ha erre kaphatnék választ megköszönném:


Idézet:
„Már csak az a kérdés valójában mire jóaz access bank, ha lényegében minden SFR megvan a bank15 ben, sőt még azok is, amik eseteg nem fértek bele az Access be. (pl. UCFG-UEIE, stb.) Talán azért, mert így együtt lehet kezelni az accessben az SFR -et bankváltás nélkül a gyakran használt változókkal?”
(#) icserny válasza szaffo555 hozzászólására (») Okt 2, 2010 /
 
Arra jó, hogy hatékonyabb lehet vele a program, mert nem kell állandóan lapozgatni...
(#) szaffo555 válasza icserny hozzászólására (») Okt 2, 2010 /
 
Tehát jól gondolom, hogy a regiszterek szempontjából közömbös, hogy access be vannek szervezve, (mert mindegyik a 15. bankban van, váltani úgysem kellene), s csupán az általános regiszterekkel vagyó együttműködés miatt paraktikus használni az Access -t?
(#) icserny válasza szaffo555 hozzászólására (») Okt 2, 2010 /
 
Igen.
(#) csovaril hozzászólása Okt 2, 2010 /
 
Sziasztok!
Pergésmentesítéses módszereket próbálgatok,
ez megszakít biz. időközönként, és ha ennek a tízszerese letelt, akkor enged csak újabb kapcsolást.
A problémám: nem tudom, mitől függően 1-2, talán néha 3 ki/bekapcsolást enged, aztán megáll az egész.
  1. ;20100929
  2. ;Csovari Laszlo
  3. ;11
  4. ;Elso rb0 megszakitas probaprogram.
  5. ;portb5-ot kapcsolgatja a kapcsolo, ami rb0-n van
  6. ;portb6 jelzi, hogy elerkezett-e az ido a kov. kapcsolashoz
  7. ;portb7 villogassal jelzi, hogy a tmr0 megszakitas ervenyben van-e
  8.         LIST    P=16F628A
  9. #INCLUDE        "P16F628A.INC"
  10.  
  11. __config        _INTOSC_OSC_NOCLKOUT & _CP_OFF & _WDT_OFF & _LVP_OFF
  12.  
  13.         cblock  0x20
  14.         idew
  15.         idestat
  16.         pereg
  17.         tiz
  18.         endc
  19.  
  20.         org             0x00
  21.         goto    fo
  22.         org             0x04
  23.  
  24.         btfsc   INTCON,T0IF
  25.         call    idomegsz
  26.         btfsc   INTCON,INTF
  27.         goto    $+2
  28.         goto    $+3
  29.         btfsc   PORTB,6
  30.         call    megszak
  31.         goto    kor
  32.  
  33. fo
  34.         banksel OPTION_REG
  35.         MOVLW   B'00000111'
  36.         MOVWF   OPTION_REG
  37.         banksel CMCON
  38.         movlw   0x07
  39.         movwf   CMCON
  40.         banksel TRISA
  41.         movlw   .0
  42.         movwf   TRISA
  43.         movlw   b'00000001'
  44.         movwf   TRISB
  45.  
  46.         banksel PORTA
  47.         movlw   .10
  48.         movwf   tiz
  49.  
  50.         bsf             INTCON,INTE     ;portb0 megszakitas eng
  51.         bsf             INTCON,T0IE
  52.         bsf             INTCON,GIE      ;minden nem maszkolt utasitas engedelyezese
  53.  
  54. kor
  55.         nop
  56.         goto    kor
  57.  
  58.  
  59. ;-------------MEGSZAKITASOK--------------
  60.  
  61. megszak
  62. ;work es status elmentese
  63.         movwf   idew
  64.         swapf   STATUS,W
  65.         movwf   idestat
  66. ;megszak rutin
  67.         bcf             INTCON,GIE
  68.         bcf             INTCON,INTF
  69.  
  70.         bcf             PORTB,6
  71.         movlw   .10
  72.         movwf   tiz
  73.        
  74.         btfss   PORTB,5
  75.         goto    $+3
  76.         bcf             PORTB,5
  77.         goto    $+2
  78.         bsf             PORTB,5
  79. ;work es status visszahivasa
  80.         swapf   idestat,W
  81.         movwf   STATUS
  82.         swapf   idew,F
  83.         swapf   idew,W
  84.         retfie
  85.  
  86.  
  87. idomegsz
  88. ;work es status elmentese
  89.         movwf   idew
  90.         swapf   STATUS,W
  91.         movwf   idestat
  92. ;idomegsz rutin
  93.         bcf             INTCON,GIE
  94.         bcf             INTCON,T0IF
  95.  
  96.         btfsc   PORTB,7 ;ha 1
  97.         goto    $+3
  98.         bsf             PORTB,7
  99.         goto    $+2
  100.         bcf             PORTB,7
  101.  
  102.         decfsz  tiz,F
  103.         goto    $+4
  104.         bsf             PORTB,6
  105.         movlw   .10
  106.         movwf   tiz
  107. ;work es status visszahivasa
  108.         swapf   idestat,W
  109.         movwf   STATUS
  110.         swapf   idew,F
  111.         swapf   idew,W
  112.         retfie
  113.  
  114. end

Bocs a hosszú kódért, de nem tudom, melyik részével van baj. Max letörli valaki, ha túl hosszú

Köszi előre is!
(#) icserny hozzászólása Okt 2, 2010 /
 
Tegnap végre kézbevehettem a 2 hete megrendelt SURE Electronics DB-DP113 PIC18F4520 demókártyát. Az ICSP kivezetésekre már én raktam be a tüskesort, gyárilag csak üres lyukak vannak.

Az eredeti kiírásban 2x16 karakteres kijelző szerepelt, ehhez képest meglepetés, hogy 2x20 karakterest szállítottak. A kijelző reflexiós típusú (nincs háttérvilágítás).

Az negatívum, hogy 20 MHz-es kvarccal szerelték a panelt, így a PLL-t nem lehet használni, s nem lehet 40 MHz-en futtatni. Emiatt a végtelen ciklus sokkal lassabban fut le...

A kártya jellemzői:
- PIC18F4520 mikrovezérlő, 20 MHz-en
- 3 db nyomógomb (MCLR, RA4 éa RB0)
- 4 db piros LED (RB0..RB3) és 1 db zöld LED (power)
- USB- UART átalakító (CP2102) amin lehet kommunikálni
- 4 számjegyű 7-szegmenses kijelző
- 2x20 karakteres LCD kijelző ("levehető ajtós")
- Piezo buzzer ("picergő")
- I2C hőmérő
- I2C EEPROM
- Műveleti erősítős PWM integrátor (kontrasztszabályozónak van bekötve, de nincs értelme...)

Egy hétig még akciós az ára a gyártónál (gondolom, ehhez igazodnak az E-bay árak is...).

Már fut rajta az AN1310-es bootloader, és gőzerővel készül a PICula projekt tananyag és támogatói programcsomag.... Végső soron akár ugyanúgy is lehet használni, mint a PICCOLO projekt áramköreit, csak itt a PIC-en kívül van az USB.

Az AN1310-zel meghajtva 614400 bit/s volt a legnagyobb sebesség, amelyen még kapcsolódni tudott a PIC bootloadere, ekkor 0.6 s alatt olvasta be a teljes 32 kB program memóriát a PC-be.

Üzemszerűen eddig csak 56 kbit/s-on használtam, a rövid tesztprogramok letöltése így is kellemesen gyors (és kényelmesebb, mint a PICkit2-vel történő programozás).
(#) szilva válasza szaffo555 hozzászólására (») Okt 2, 2010 /
 
Talán úgy a legjobb elképzelni ezt, hogy az access terület csak egy ablak a memóriabankokból kialakított speciális, 256 byte méretű nézetre.

A memóriabankok 0-tól 15-ig vannak számozva, az összes regiszternek (beleértve a speciális funkciós regisztereket is) 12 bites címe van. A regisztereket megcímző utasításokban a regisztercím 8 bites, valamint egy bit jelzi, hogy a 8 bites címet bankolt módon kell-e értelmezni, vagy access terület elérésére vonatkozóan.

- Bankolt elérésnél a 12 bites regisztercím az utasításban lévő 8 bitet a BSR-ben található 4 bittel kiegészítve alakul ki. Ezzel a módszerrel bármely regiszter elérhető.

- Ha "access" a címzésmód, akkor a BSR értékétől függetlenül a fent említett "nézet"-ben lévő regiszterek lesznek megcímezve, méghozzá úgy, hogy a 8 bites címtől függően a felső 4 bitbe 0000 vagy 1111 kerül. Ha a 8 bites cím kisebb egy értéknél, akkor 0000, egyébként 1111. Ez a határérték PIC-től is függ, de általában 0x60 vagy 0x80. Ha a határérték 0x60, akkor access eléréssel csak a 0x000-0x05F és 0xF60-0xFFF regiszterek érhetők el, viszont a BSR aktuális tartalmától teljesen függetlenül.

Az, hogy egy regisztert milyen módon címzel meg, a PIC-et nem érdekli, a lényeg az, hogy a cím összerakásának a végén helyes regiszterhez forduljon. Nyilván olyan SFR-eket nem lehet "access" címzéssel elérni, amik nem a 15. lapon vannak, vagy ugyan ott vannak, de az access határvonaltól kisebb a címűk alsó 8 bitje. Az ilyen SFR-eket muszáj bankolt eléréssel használni.
(#) szilva válasza csovaril hozzászólására (») Okt 2, 2010 /
 
Hirtelen átfutottam a kódot, de nagyon nem mélyedtem az elemzésébe bele. Pár feltűnő dolgot láttam, amit át kellene dolgoznod:

1. A $-os goto-kat érdemes lenne rendes címkére ugró utasításokkal helyettesíteni és kitenni a címkéket. Így nem is biztos, hogy oda ugrik, ahova gondolod, ráadásul ha véletlenül beszúrsz vagy elveszel utasításokat azon a környéken, akkor könnyen rossz lesz a mostani érték a $ mellett.

2. A megszakításokat nem így kellene kezelni. A (midrange) PIC egy megszakításvektort ismer, minden megszakítás erre ugrik, és itt kell majd a megszakítást kiváltó októl függően mást és mást csinálni. Ez az irány látszik is a programodban, de a megvalósítás nem jó. A megszakításrutin legelején kell menteni, és a legvégén visszaállítani a fontos regisztereket, majd RETFIE-vel visszatérni. A Te kódodban call-lal vannak meghívva a periférialekezelők, és azokból jössz ki RETFIE-vel, ez teljesen rossz így, ráadásul a megszakításrutin a mentések előtt már vizsgálgat.

3. A megszakításban továbbá nem szabad a GIE-t állítgatni, ezt megcsinálja a hardver. A perifériát lekezelő rutinban az adott perifériára jellemző nyugtázásokat meg kell csinálni (pl. interrupt flag visszaállítása, PORT-ból olvasás, vagy esetleg más, ez a kiváltó októl függ).

4. A megszakításból sosem ugrunk ki GOTO-val a főprogram valamely részébe.
(#) Ideiglenes válasza szaffo555 hozzászólására (») Okt 3, 2010 /
 
Tisztában vagyok vele, hogy ez egy tegnapi beszélgetés volt...
A tapasztalatom szerint az ACCESS BANK elérés alapértelmezett, ha az utasítások végére nem is írom ki. Assemblyben íródott PIC16F690-es programomat emiatt néhány óra alatt sikerült áttennem 18F14K20-ra, ami a ki-bemenetek tekintetében azonos tok, belül azonban a fejlettebb vezérlő található. Az áttérést éppen az ACCESS BANK megoldás segítette. A legnagyobb módosítás az volt, hogy a "banksel" utasításokat kivehettem a programból.
(#) Hp41C válasza Ideiglenes hozzászólására (») Okt 3, 2010 /
 
Szia!

Azért nem ennyire egyszerű:
- Vannak olyan utasítások, amik más státusz biteket is állítanak: pl. incf/decf a 16F -en csak a Z-t, 18F -en a C-t és a Z-t is állítja.
- A shiftelési utasítások másként érhetők el: a 16F rrf/rlf utasítása rrcf/rlcf a 18F -en. Egy makro ugyan értelmezi a rrf/rlf -et is. Ezek az utasítások a N bitet is állítják.
- Az utasítások 2 (4) bájton tárolódnak, a program memória címzése byte címeket használ. A kiszámított ugrásnál figyelni kell rá. Az ugrótáblában a 16F -en használt return és a goto mérete a 18F -en eltér, az utóbbi helyett bra -t használva 2 byte/eset lehet a táblát használni.
- A kiszámított ugrálnál a táblázat hosszára jobban kell ügyelni (2 - 4 cím / tétel), a 256 -os limit byte-ban értendő. A PCL olvasássával a PCLATU, PCLATH feltölthető - sajnos az addwf PCL,f nem tölti fel...
- Nincs FSR regiszter, helyette a 12 bites FSR0H:FSR0L, FSR1H:FSR1L, FSR2H:FSR2L használható, érdemes a sokféle címzést lehetőséget kihasználni:
  1. movff POSTDEC1,PREINC2
  2.  movf  PLUSW0,w

A címmódosító lehetőségek a 12 bites FSRx -et növelik, csökkentik.
- A megszakítási rendszert mindenképen át kell gondolni...
- Érdemes még egy kicsit foglalkozni a programmal, kihasználni a feltételes ugrásokat (bz, bnc, bn,...), a két byte-os ugrás bra, két byte-os szubrutin hívás rcall, a 8 bitnél nagyobb számok kezelésénél az addwfc, subwfb, subfwb utasításokat (kezelik a C/B bitet),valamint az infsnz, dcfsnz, tstfsz utasításokat. A w regiszter WREG néven címezhető:
  1. btg WREG,6
. A mulwf utasítással egyszerűen lehet szorozni...
- Ha a retlw -ket alkalmazó ugrótáblázatok helyett a TBLRD* utasítással kezeljük a táblázatokat (szövegeket) fele akkora méretben tárolhatjuk őket - egy sorba mindig páros számú adatot adjunk meg, a fordító a páratlan számú adat esetén hozzátesz egy 0 -t.

Van néhány buktató is:
- Elfelejtettük a 16F programjában kiírni a w/f mezőt, a 18F -en megadjuk az A (access) címzést:
Az A értéke 0, az f/w mező default értéke 1, ennek következtében hibás utasítás fordul:
  1. ; Az eredeti programban az eredmény a PORTA-ba kerül:
  2.  xorwf PORTA
  3.  ; 18F programban az eredmény a WREG -be kerül:
  4.  xorwf PORTA,A

- Ne használjuk a movff utasítást WREG és STATUS módosítására, rengeteg 18F kontroller a nem módosított értéket menti a hw regiszterekbe megszakítás beérkezésekor, a retfie fast rossz értéket állít vissza.
(#) AZoli válasza AZoli hozzászólására (») Okt 3, 2010 /
 
Sziasztok!

Az optokapu RB1/INT1 lábon segített, megszüntek a kéretlen megszakítások, tegnap du. órákat tudtunk autózni vele. Viszont kétszer sikerült úgy lefagyasztani a pic-et, hogy csak a táp-elvétel segített rajta. Most ezt keresem, csak nagyon nehéz produkálni a hibát.. valószínű hogy valam végtelen ciklusba kerülök, és előtte kikapcsolom a WDT-t.
Táp ügyben: tudtok a 7805 -el (D2pak) láb és funciókompatibilis, de jobb minőségű stab. ic-t, vagy muszáj kapcsolóüzeműre átterveznem a zavarvédelem miatt?
(#) csovaril válasza szilva hozzászólására (») Okt 3, 2010 /
 
Köszi a választ, átmódosítottam a programot:
0x04-től:
- w, status elmentése
- ellenőrzöm, milyen megsz. van
gotoval ugrok a megfelelő rutinra, majd onnan gotoval visszajövök
- w, status visszaállítása
- retfie.

Kiszedtem a GIE piszkálgatását is, de ugyanaz a probléma továbbra is fennáll. Mi lehet az oka?
Olyan előfordulhat, hogy elindul egy megszakítás (pl tmr0), és közben megszakít a gomb tökéletlen érintkezése?
(#) AZoli válasza csovaril hozzászólására (») Okt 3, 2010 /
 
Szilva szerintem nem arra gondolt hogy goto-val ugorj a megszakítás kezelő rutinra és onnan vissza, hanem a CALL - RETFIE páros helyett CALL - RETURN -al, és RETFIE csak a legvégén. Persze ez még szerintem nem fogja megoldani a problámádat.
(#) AZoli válasza csovaril hozzászólására (») Okt 3, 2010 /
 
Mégvalami.. bár nem emlékszem pontosan hogy ez hogyan volt 16F-eknél, de ha jól látom a főprogramban bankot váltasz, és közben jöhet a megszakítás, akkor azt is el kell mentened hogy melyik bankban vagy, majd átlépni abba amiben a megszakítást akarod kezelni, és a végén visszaállítani úgy mint w-t és status-t.
Szerk:
Nem jól láttam, nem váltasz bankot a főprogramban.
(#) Poostmaster hozzászólása Okt 3, 2010 /
 
Segítség!
Azt hiszem elbaltáztam a PK2-met.
Nem tudom mi az a gomb rajta, de rajta volt az ujjam, amikor csatlakoztattam az USB-re. villogni kezdett rajta a Busy lámpa, és mivel nem hagyta abba, leúztam. Aztán vissza, és most nem ismeri meg a pk2 program.
(#) csovaril válasza Poostmaster hozzászólására (») Okt 3, 2010 /
 
hát amikor nekem villogott a piros, akkor csak a pk2 progi segítségével újra kellett rá telepítenem az "operációs rendszert" (firmwaret)
(#) csovaril válasza AZoli hozzászólására (») Okt 3, 2010 /
 
ja oké, köszi a segítséget neked is!
(#) csovaril válasza szilva hozzászólására (») Okt 3, 2010 /
 
Megvan a hiba: A megszakításkezelésnél, amikor ellenőrzöm, mi kérte a megszakítást, a végén ha az ellenőrzöttek egyike sem kérte, a főprogramra ugyrottam, pedig a változók visszaállítása részre kellett vola mennem, és így nem hajtódott végre a retfie sem, letiltva hagyva így a gie-t. Mostmár profin működik és örülök, hogy rávezettél a rendes megszakításkezelés felépítésére.
(#) vicsys válasza Poostmaster hozzászólására (») Okt 3, 2010 /
 
(#) Poostmaster válasza vicsys hozzászólására (») Okt 3, 2010 /
 
Úgy tűnik, nekem más volt a gond.
Kiszellőztettem az agyam, és újra próbáltam. Akkor minden rendben volt.
De ha már hozzákezdtem, én is utánanéztem kicsit. Az általad javasolt művelet eredménye az lett, hogy a pk2 program azt írta failed. Azért ennyiben nem hagytam a dolgot, úgyhogy a kézikönyvben alkalmazott Mplab-os verziót próbáltam. Ezzel sikerült is frissíteni, és utána a pk2 programot is. Így már minden működik.
(#) robing16 hozzászólása Okt 3, 2010 /
 
Sziasztok...

Kérdésem az lenne, hogy lehet USART-al Break és Mark After Break jelet csinálni? DMX512-es adót próbálok meg jelenleg készíteni, van egy 4 csatornás dimmer, annak van egy állapot LED-je, és akkor fogja rendesen a csomagot, ha villog, de sajnos a villogás abba marad, a csatorna állapotot eldobja, így azt feltételezem, hogy rossz a csomag eleje vagy vége...

Az első indításnál a beírt értékekre álnak be a lámpák, jelen esetben az első 30%-on, a második 100%-on, a 3-dik 0%-on a 4-dik meg 60% körüli értéket felveszi...

Én erre gyanakszok, hátha van valakinek tapasztalata, megoldása

Előre is köszönöm
(#) watt válasza robing16 hozzászólására (») Okt 3, 2010 /
 
Ez nem PIC kérdés, miért nem kérdezed meg a DMX topicban?
Egyébként az USART egy szabványos soros port illesztő, a DMX más szabvány szerint működik, ha jól tudom. Lehet, hogy meg lehet oldani trükközéssel, de ez inkább DMX kommunikációban járatos emberkék tudják és ha van megoldás, az általános USART megoldás lesz, nem PIC specifikus.
(#) Poostmaster hozzászólása Okt 3, 2010 /
 
Van még mit tanulnom.
Most próbálom reprodukálni a debounce progit.
(sajna csak asm-ben van meg)
Ott tartok, hogy megértettem a program lépéseit, bár azt nem tudom, hogy ha csak a D porton levő ledeket kapcsolom be a RB0-ra kötött gombbal, akkor miért kell az A portot inputnak állítani, és miért törlöm a display-t, ha nincs is.
De a leginkább azt kéne megértenem, hogy hogyan állítom be az RB0-t digitális bemenetre.
Az ANSELH 0-bitjét kellene 0-ra állítanom?
Ha az adatlapot (887) olvasom, akkor a B port első hat kapuja lehet analóg, és ez a fölső bájtja a regiszternek az alsó pedig az A port.
Jól értelmezem? akkor talán ezért kell állítani az A-t. De minek a display?
(#) icserny válasza robing16 hozzászólására (») Okt 3, 2010 /
 
Már tavaly májusban ajánlottam neked az AN1076 alkalmazási mintapéldát. Abban a 3. ábra és a fölötte lévő magyarázat mutatja, hogy a 92-176 us hosszúságú Break jelet nem az UART küldi, hanem az UART TX vonalat a kívánt időtartamra földre húzzák a PIC RC5 lábával. Majd, ha az időzítés letelt, az RC5 láb tristate állapotba kapcsolásával engedik az UART adását.

Nagyon fontos, hogy a lehúzott vonalra az UART Tx egy áramkorlátozó ellenálláson keresztül kapcsolódjon, nehogy túlterhelődjön a PIC kimenete. Én az ábrán látott 100 Ohm-nál nagyobb elllenállást tennék, hiszen úgyis csak az RS-485 meghajtót kell vezérelni vele.
(#) robing16 válasza icserny hozzászólására (») Okt 3, 2010 /
 
Igen, olvastam, de azaz igazság, hogy nem vettem figyelembe a MikroPascal nyelvi program korlátait...
A DMX-es topic-ba már írtam, ugyan azt a problémát már megoldottam, Register szintjén mentem bele a történetbe, és megértettem, hogy amit a MikroPascal nyújt, az csak ilyen kiegészítő, hisz bármely Registert egyszerűen tudok változtatni...

Így is, hisz inicializáltam az USART portot a beépített kóddal, majd Register szintjén átállítottam a sebességet, és odáig eljutottam, hogy a csatorna kis ideig megy, utánna eldobja...

Am, most, hogy elmondtad, mit tesz ott a 100Ohm-os ellenállás, és azt a portot mire használja épp, már értem. Épp most csináltam meg a módosítást, tényleg működik, most már csak egy pici gond van, mivel villog az első csatorna valamiért

Köszönöm a segítséget...
(#) szepesg hozzászólása Okt 4, 2010 /
 
Sziasztok!

Adott egy 32 bites pic, amivel jelet szeretnék generálni.
A kimenetet szeretném analóggá tenni, ezt DAC-rel végzem.
A pic-nek 3 szóba jöhető kimenete van, amihez csatlakoztathatom a DAC-ot:
- i2c
- spi
- 16 bites párhozamos port.

Melyiket érdemes használni a három közül? (És miért azt?)
Kösz. Sz.G.

ps: a leggyorsabb, leghatékonyabb kapcsolat kellene
Következő: »»   810 / 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