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   650 / 1210
(#) icserny válasza n_yálastrubadúr hozzászólására (») Márc 25, 2015 / 1
 
Ezt olvastad? "To boot into the main program RA3 (PIC18F1XK50) or RB4 (PIC18FXX5X) must be 1 and EEPROM at address 255 must be 170."

Ha jól értem, az alkalmazás HEX állományában kellene lenni EEPROM-ba írásnak is.
(#) n_yálastrubadúr válasza icserny hozzászólására (») Márc 25, 2015 /
 
Tehát programozás közben 1 nek kell lennie vagy az RA3 nak vagy az RB4-nek és az eepromba külön be kell írnom a 255. címre a 170 et? És akkor menni fog?
(#) n_yálastrubadúr hozzászólása Márc 25, 2015 /
 
Hát igazán nagyon szépen köszönöm icserny úr. Beírtam a 0xaa-t az EEPROM-ba és megy. További jó programozást mindenkinek.
(#) lastewer válasza icserny hozzászólására (») Márc 25, 2015 /
 
Nekem valami ötlet ?
(#) Pali79 válasza ktamas66 hozzászólására (») Márc 25, 2015 /
 
Igazad volt! Megy a belső óra rendesen! De a külsőről hajtott Timer1 megszakítás az indulás után 5-6 másodperccel jön először. Az normális?
(#) lastewer válasza lastewer hozzászólására (») Márc 25, 2015 /
 
Egyébként nem is engedi lefordítani , hibát ír :
  1. Warning [176] D:\Pic\httpserver_example.c; 342.0 missing newline
  2. Warning [349] D:\Pic\__EthEnc28j60.h; 148.45 non-prototyped function declaration for "SPI_Ethernet_doPacket"
  3. Warning [349] D:\Pic\__EthEnc28j60.h; 152.44 non-prototyped function declaration for "SPI_Ethernet_getByte"
  4. Warning [374] D:\Pic\httpserver_example.c; 8.5 missing basic type; int assumed
  5. Error   [372] D:\Pic\httpserver_example.c; 8.5 "," expected
  6. Error   [372] D:\Pic\httpserver_example.c; 8.10 "," expected
  7. Error   [372] D:\Pic\httpserver_example.c; 8.27 "," expected
  8. Error   [372] D:\Pic\httpserver_example.c; 8.30 "," expected
  9. Warning [374] D:\Pic\httpserver_example.c; 9.5 missing basic type; int assumed
  10. Error   [372] D:\Pic\httpserver_example.c; 9.5 "," expected
  11. Error   [372] D:\Pic\httpserver_example.c; 9.10 "," expected
  12. Error   [372] D:\Pic\httpserver_example.c; 9.26 "," expected
  13. Error   [372] D:\Pic\httpserver_example.c; 9.29 "," expected
  14. Warning [374] D:\Pic\httpserver_example.c; 10.5 missing basic type; int assumed
  15. Error   [372] D:\Pic\httpserver_example.c; 10.5 "," expected
  16. Error   [372] D:\Pic\httpserver_example.c; 10.10 "," expected
  17. Error   [372] D:\Pic\httpserver_example.c; 10.37 "," expected
  18. Error   [372] D:\Pic\httpserver_example.c; 10.40 "," expected
  19. Warning [374] D:\Pic\httpserver_example.c; 11.5 missing basic type; int assumed
  20. Error   [372] D:\Pic\httpserver_example.c; 11.5 "," expected
  21. Error   [372] D:\Pic\httpserver_example.c; 11.10 "," expected
  22. Error   [372] D:\Pic\httpserver_example.c; 11.36 "," expected
  23. Error   [372] D:\Pic\httpserver_example.c; 11.39 "," expected
  24.  
  25. Warning [361] D:\Pic\httpserver_example.c; 187.4 function declared implicit int
  26. Warning [361] D:\Pic\httpserver_example.c; 201.7 function declared implicit int
  27. Warning [361] D:\Pic\httpserver_example.c; 205.1 function declared implicit int
  28. Warning [361] D:\Pic\httpserver_example.c; 205.10 function declared implicit int
  29. Warning [361] D:\Pic\httpserver_example.c; 207.8 function declared implicit int
  30. Error   [192] D:\Pic\httpserver_example.c; 218.10 undefined identifier "PORTB"
  31. Error   [192] D:\Pic\httpserver_example.c; 224.10 undefined identifier "PORTD"
  32. Warning [361] D:\Pic\httpserver_example.c; 239.5 function declared implicit int
  33. Error   [192] D:\Pic\httpserver_example.c; 251.9 undefined identifier "PORTD"
  34. Error   [196] D:\Pic\httpserver_example.c; 251.18 struct/union required
  35. Error   [182] D:\Pic\httpserver_example.c; 251.37 illegal conversion between types
  36. Advisory[1] too many errors (21)
  37.  
  38. ********** Build failed! **********
(#) ktamas66 válasza Pali79 hozzászólására (») Márc 25, 2015 /
 
Nézegesd meg az AN849-ben az ábrákat, lehet rossz értékű kondit használsz.
(#) icserny válasza lastewer hozzászólására (») Márc 25, 2015 /
 
Idézet:
„Nekem valami ötlet ?”
Wireshark-kal nézni és értelmezni kellene a csomagokat! Bővebben: wireshark.org
(#) nedudgi válasza lastewer hozzászólására (») Márc 25, 2015 /
 
Valami nem gömbölyű azzal a forrással, próbálj meg visszatérni az eredetileg letöltött forráshoz. Nem tudom, milyen módosítást végeztél rajta, de belekeveredett egy csomó .html elem.
(#) Pali79 válasza ktamas66 hozzászólására (») Márc 25, 2015 /
 
Ha minden igaz 33 pF van mellette, az általad javasolt doksi ezt írja, a 18F14K22 adatlapja meg 27 pF-ot. Lehet kicserélem majd. Köszi!
(#) lastewer válasza icserny hozzászólására (») Márc 25, 2015 /
 
Ezt megnézem , köszönöm.
(#) lastewer válasza nedudgi hozzászólására (») Márc 25, 2015 /
 
Az eredeti forrással is ez az eredmény fordításkor. Mplab+ HI-TECH ANSI C compiler

De igazából ez csak egy dolog , hogy ez se jó , de az eredeti hex fájl se .
A hozzászólás módosítva: Márc 25, 2015
(#) icserny válasza lastewer hozzászólására (») Márc 26, 2015 /
 
Idézet:
„Mplab+ HI-TECH ANSI C compiler”
Ez nagyon aranyos! A letöltött csomag neve pedig 1351339727_pic_16f877a__8mh_mikroc_pic.rar, azaz a Mikroelektronika MikroC fordítójához készült. A honlapon látható fénykép szerint pedig a hardver Mikroelektronika kártyáiból van összedugva. Neked is ilyen kártyáid vannak, vagy a hardver sem azonos?
(#) matheattila hozzászólása Márc 26, 2015 /
 
Sziasztok!
Előre szólok, hogy nem kimondottan PIC-hez kötött a kérdésem, de nem találtam job topic-ot és szerintem ide is bele illik.
Jelenleg egy komplexebb szoftver (OSEK operációs rendszerrel megáldva egy 16 bites Renesas mikrovezérlőn) egyik modulján dolgozok emellett még van egy SPI modul is amely kicsit túl van bonyolítva, ami miatt nem valósidejű az adattovábbítás, ami annyit jelent, hogy az írás/olvasás függvények meghívása és az adatküldés/fogadás vége között kb 2ms telik el.
A modult (vagyis azon belül egy függvényt) amelyen dolgozok 25ms-onként hívja meg az op rendszer és ebben a függvényben kellene adatokat küldeni/fogadni SPI-n keresztül egy LED drivernek/től. Mivel pl. az olvasási eredményt nem azonnal kapom meg, hanem csak a következő ciklusban így egymás után nem is tudok több adatot küldeni vagy fogadni, csak minden ciklusban egyet-egyet ami kicsit idegesítő, mert pl a LED driver egy regiszterét ha módosítani akarom akkor először ki kell olvasni, majd a kiolvasott adatot módosítani aztán visszaírni. Ennek a LED drivernek van egy LATCH bemenete is amit minden 16 beléptetett bit (regiszter cím + adat) után aktiválni kell, természetesen ezt csak írásnál.
Kérdésem az lenne, hogy hogyan lehetne megoldani praktikusan az adatok írását/olvasását hogy egy függvény (pl egy másik modulból) ami adatot akar kiolvasni az valamilyen módon kapja is meg még akkor is ha kicsit később...
Én sajnos nem boldogulok sehogy vele. Jelenleg ott tartok, hogy egy nagy 40 bájtos bufferben eltárolom az összes küldeni kívánt konfigurációs adatot majd periódikusan (minden 25ms-ban) kiküldöm.
Ha kis idővel később más adatot akarok küldeni akkor csak módosítom a buffer adott részét, beállítom a hozzá tartozó indexet majd küldöm megint periódikusan...
Ez működik is szépen írásnál, viszont az olvasást nem tudom, hogy oldjam meg, hogy minden szinkronban legyen :/
Előre is köszönöm a tanácsokat
(#) lastewer válasza icserny hozzászólására (») Márc 26, 2015 /
 
Nem , nekem csak 1 db pic-em van és egy enc modulom. Mellékeltem képen.

MikroC-ben is ugyan azokat a hibákat dobja ki , mint Hi-tech-nél egyébként.

Megnéztem wireshark-al nem látni semmi adatot az enc felől. Ip scannerel is néztem , az se találta meg .

Most az eredeti letöltött hex fájl van beleégetve , de semmi.
A hozzászólás módosítva: Márc 26, 2015

ok.jpg
    
(#) Hp41C válasza lastewer hozzászólására (») Márc 26, 2015 /
 
A breadboart alsó kék sávaja és a felső kék sávja össze van kötve vezetékkel? És a piros a pirossal? Maga a breadboard nem köti össze őket.
(#) lastewer válasza Hp41C hozzászólására (») Márc 26, 2015 /
 
Igen , tápot kap mind a 2 oldalon, mellékeltem hogy is néz ki .

- Az mclr láb is fel van húzva 3.3V -ra , 10K ellenálláson keresztül , amint az látszik is a képen.
- Az oszcillátorhoz pedig HS van beállítva , mert 8 MHZ.
- Az enc CS lába pedig 3.3V ra felhúzva , szintén 10K ellenállással.

Szerk: Rámértem , az a 3.3V pontosabban 3.28V. Nem tudom ez mennyit számít.

Az égető pedig amivel beégettem a hex fájlt egy Icsp k150 - es
A hozzászólás módosítva: Márc 26, 2015
(#) Pali79 válasza lastewer hozzászólására (») Márc 26, 2015 /
 
Az nem lenne baj, annyival is elmegy a pic. Viszont nem ártana bele egy led és valahol a program közepén, végén bekapcsolni, hogy lásd, fut egyáltalán a program.
(#) lastewer válasza Pali79 hozzászólására (») Márc 26, 2015 /
 
Na ez jó ötlet , az a bajom ezzel , hogy mikroc ben fordításkor nincs hex fájl. Én rontottam el valamit , vagy egyébként sincs?
(#) lastewer válasza Pali79 hozzászólására (») Márc 26, 2015 /
 
Megoldódott a probléma 5V kellett a picnek , nem 3.3. Estére összekészítek mindent és csinálok róla egy kapcsolási rajzot .. Hátha jól jön még majd valakinek ..
(#) Hp41C válasza lastewer hozzászólására (») Márc 26, 2015 /
 
Egy kép a fordító ablakáról sok információt adna, miért nem keletkezik hex állomány...
(#) sonajkniz hozzászólása Márc 26, 2015 /
 
Sziasztok!
Több helyen is olvastam, legutóbb pár sorral feljebb, hogy az mclr lábat fel kell húzni magas jelszintre.
Ha nem akarom reset célokra használni, sőt semmilyen célra, nem elegendő ha a config beállításoknál átállítom sima bemenetre, és hagyom lebegni?
(#) Pali79 válasza sonajkniz hozzászólására (») Márc 26, 2015 /
 
Lehetni lehet, kikapcsolhatod, de ha nem kell semmire akkor jobb ha felhúzod.
(#) lastewer válasza Hp41C hozzászólására (») Márc 26, 2015 /
 
Már működik. De most mikor beleégetném a picbe a hex fájlt azt írja ki , hogy : fuse error 0x2007

Ez mi ? (ICSP K150 programozó )
A hozzászólás módosítva: Márc 26, 2015
(#) lastewer válasza lastewer hozzászólására (») Márc 26, 2015 /
 
A mikroC fordításkor ezt a hibaüzenetet adja :
Idézet:
„0 1501 Specified search path does not exist: 'D:\P\# Electronique #\_uC-WEB_\# PIC 16F877A (8MHz) + ENC28J60 Mini Web Server #'”


Idézet:
„0 1501 Specified search path does not exist: 'D:\P\# Electronique #\_uC-WEB_\Serial Ethernet Examples MikroElektronika\Serial Ethernet Examples for PIC\mikroC PRO for PIC\HTTPServer_Example'”


Hiányzik neki egy fájl , de ez nincs benne a letöltött rarr fájlba. Ötlet esetleg?
A hozzászólás módosítva: Márc 26, 2015
(#) lastewer hozzászólása Márc 26, 2015 /
 
Mellékeltem egy képet , hogy mik hiányoznak. Így ezek nélkül nem is tudom módosítani a forrást.

Valakinek lenne ötlete , hogy mi is ez , hogy lehetne orvosolni ?
(#) icserny válasza lastewer hozzászólására (») Márc 27, 2015 /
 
Én nem látok hiányzó fájlokat. Inkább az a probléma hogy a projekt olyan elérési útvonalakat definiál, amelyek nálad biztosan nincsenek (lásd a httpserver_example.mcppi állományban).

  1. [SEARCH_PATH]
  2. Count=6
  3. Path0=C:\Users\Public\Documents\Mikroelektronika\mikroC PRO for PIC\defs\
  4. Path1=C:\Users\Public\Documents\Mikroelektronika\mikroC PRO for PIC\Uses\P16\
  5. Path2=D:\P\# Electronique #\_uC-WEB_\# PIC 16F877A (8MHz) + ENC28J60 Mini Web Server #\
  6. Path3=D:\P\# Electronique #\_uC-WEB_\# PIC 16F887 (24MHz) + ENC28J60 Mini Web Server #\
  7. Path4=D:\P\# Electronique #\_uC-WEB_\# PIC 16F887 (8MHz) + ENC28J60 Mini Web Server #\
  8. Path5=D:\P\# Electronique #\_uC-WEB_\Serial Ethernet Examples MikroElektronika\Serial Ethernet Examples for PIC\mikroC PRO for PIC\HTTPServer_Example\


Ezekkel kellene tenni valamit, de ebben csak az tud segíteni, aki ismeri a MikroC-t.
(#) n_yálastrubadúr hozzászólása Márc 27, 2015 /
 
Sziasztok!
Valaki meg tudná mondani miért í ki hibát az Mplab? Van egy minta projektem C18-ban a bootloader-hez. Ha ugyanazt létrehozom ugyanúgy a mappájában van a linker script file is akkor is ezt írja ki:
Error - processor types do not agree across all input files.
Errors : 1

Link step failed.
(#) lastewer válasza icserny hozzászólására (») Márc 27, 2015 /
 
Értelek. Igazából próbáltam kitörölni is az útvonalakat , de az a baj , így a 38 kb -os hex fájlból, csak 9 kb-s lesz. Működésképtelen.
(#) Hp41C válasza n_yálastrubadúr hozzászólására (») Márc 27, 2015 /
 
Idézet:
„Error - processor types do not agree across all input files.”

Az MpLab -ban beállított processzor típus nem egyezik meg valamelyik állományban megadottal. Talán pont a linker script -belivel...
Következő: »»   650 / 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