Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
"Elnéztem" bocsi. Domináns "L" azt jelenti hogy nyugalmi "H".
Hmm.
A parancsot veszi mert 250 azaz ACK a válasz. De a hozzá való adat elküldése után csak 254-et vagyis Resend-et küld. :S
Sziasztok! Az alábbi program kód a MikroC program súgójában található LCD kezelésére:
A problémám az,hogy a következő hibaüzenetett kapom fordításnál: Routine LCD_Out not defined! A segítségeteket szeretném kérni, hogy mi lehet a hibaüzenet oka, és mit jelent a hibaüzenet.
"Régebben" mikor MikroC -t használtam, nekem is volt ilyen hibaüzenetem, ha jól emlékszem az oldotta meg a dolgot ( illetve egy kis kutatás után találtam rá a mikroelektronika fórumán ), hogy a forrásfájlnak LCD.c nevet adtam, ami hibát okozhat, gondolom nálad is ilyesmi lehet, próbálj meg más nevet adni neki, de, ha így sem megy, akkor lehet, hogy az egész projectnek más nevet kéne választani.
szerk.: Most sem tartott sokáig rátalálni a probléma okára: Idézet: „If your project_name is the same as the library name you will get the error message of this type. Workaround (example for the "routine lcd_out not defined" message) : The project name is LCD.ppc so the LCD.c file is generated. LCD.c is supposed library file, it is not open source, it isn't distributed, the lcd.mcl in the uses folder is enough for compiling. The compiler assumes that you are rewriting the lcd library with your lcd.c file. Make another project with the different name and the same code will be compiled with no problem.” Idézet: „Ezeknél az okoknál fogva a program illetve az elgondolás elég komplex, azaz sok ábrát és magyarázatot igényel. Mennyire gond az ha a terjedelme forráskód nélkül lesz vagy 20 oldal? Úgy értem gépelt A4...” Nekem nem lenne gond, sot, vegre olvashatnek egy komoly cikket Es nagyon erdekel a CAN amugy tehat ram mint olvasora mindenkeppen szamithatsz Masik kerdes, hogy ha ez HE-be megy akkor ott hogy fogjak leadni, mert a 20 oldal A4 szerintem kozel lesz a 100 online oldalhoz -- ha nem HE-be megy akkor ha pl PDF akkor biztosan nem gond a formatum ill a 20 oldal.
Majd megpróbálom rövidíteni. PIC24 asm-ben csinálom, de szerintem a program nem elsődleges, hanem a működés lényege, az ötlet. Úgy gondolod nincsenek itt jó cikkek? Mondjuk a Knight-Rider futófény-t kicsit gagyinak tartom, mint ahogy a WC papírra nyomtatott HE újság a 90-es években. 93-98 között minden számban volt egy astabil multivibrátor, közben EPE, Nuts&Volts már 98-ban is PIC-ekkel volt tele...
Bár ez off, de hadd kelljek egy kicsit Knight-Rider futófény illetve az ehhez hasonló szintű/indittatású feladatok és vagy cikkek védelmébe. Leszögezem előre is, nem ismerem a kapcsolás szerzőjét.
Egy jó cikk nem csak attól lehet jó cikk, hogy minnél összetettebb dolgokat próbál bemutatni az ember, átláthatatlan képlethalmazokkal. Ugyanilyen véleményen vagyok az okos (helyesebben, magukat okosnak képzelő) emberekről, hiába tudja valaki a szuperhúlelméletet betéve, ha nem képes átlagember számára emészthető formában előadni, felépíteni a mondanivalóját, akkor az illető vagy nem érti az egészet, vagy csak bemagolta az fellengzés formájában, a két dolog akár (és általában) együtt is jár(hat). Visszatérve az eredeti vitatémához, ez az oldal nyitott, bárki számára elérhető, megtekinthető, ami azt jelenti, hogy talán sok laikus is "szörföl" a kapcsolások között, akár azzal a céllal is, hogy megtalálja a maga számára tetszetős, anyagilag kedvező és nem utolsó sorban kevés fejtörést okozó feladatot. És itt jön képbe a cikkíró tehetsége és szakértelme az adott dologhoz, mennyire tudja ezt az alanyunk számára inspirálóan, minden tekintetben kimerítően előadni. Nyilván megint más a helyzet, ha egy adott kapcsolás/cikk ismertetésnél a szerző úgy kezdi a dolgot, hogy ez egy "zárt közösségnek" szól, nem árt egy kis szakmai előképzettség az írás megértéséhez. Összegezve, elég sok dologtól függ, hogy egy írás mire is szolgál. Mindenesetre én nem tartozom az oldal nagy emberei közé, de, ha a Te CAN buszos cikked publikus lesz, azt 99%, hogy el fogom olvasni, mind érdeklődés szempontjából, mind pedig azért, mert szeretem elolvasni a szépen összerakott, magyar nyelven íródott gondolatsorokat. (Még akkor is, ha a nagy részét elsőre nem fogom megérteni). Remélem nem vetted támadásnak a mondanivalómat, nem az volt a cél, csak egy más szemszögből való nézetet írtam le.
Szia!
Nem vettem támadásnak, természetesen. Én magamat nem tartom az ász-spielerek közé. Amikor én PIC-el tervezek valamit, mindig azt tartom szem előtt hogy ezt vajon mire lehetne használni. Mármint másnak. Futófénnyel tele van a padlás. Pl ha az A277D-t meghajtod egy háromszög jellel akkor fut. Egy dolgot tudok hozzá elképzelni gyakorlati jelleggel: egy kis játék a tovább lépéshez. Valaha én is csináltam ilyet, amikor 16F877-el kezdtem. Az író és köztem annyi a különbség hogy neki volt lelkiereje ezt a cikket megírni. Én meg lusta vagyok/voltam. Ilyen formán megkövetem saját magam. Éljenek és fejlődjenek a kezdők, lehet majd ők segítenek egyszer akár nekem egy olyan dolodban ami miatt ma egész nap füstöl a fejem. A cikkem nyílvános, és publikus lesz. Megírni pedig azért írom meg mert bruttó egy év talapsztalatát fogja összefoglalni a témában. Valaha oktattam elektronikát (állítólag nagyon jól), bár sajnos PIC-et nem lehetett nekik, szóval ígérem a cikk egyszerű lesz mint a faék.
A terjedelem témájához visszatérve:
Azt a megoldást is érdemes megfontolni, hogy egy viszonylag tömör cikkben foglalod össze a lényeget (elsősorban a figyelemfelkeltési és kedvcsinálási célzattal), s mellékletként csatolod hozzá a részletekbe menő ismertetést, meg a programkódot. Én még csak egyszer próbáltam, de nagyon nyűgösnek találtam az ábrákkal és forráskóddal megtűzdelt cikk szerkesztését.
Sziasztok!
Valaki tudna megnyugtató választ adni, hogy mi történik, ha a 3V-ról járatott PIC-bemeneteire, 5V-os jeleket kapcsolok, hogy mennyire kultiválja ezt? Sehol nem találtam erre utaló információt. Arra sem, hogy estleg számítani kell-e valamilyen hatással ha a kontroller, egyszer +3V-ról, egyszer 5V-ról jár, és program futás közben történik a váltás.
Nem írod, hogy milyen PIC, mert attól függ a válasz. Az 5V-ból gondolom, hogy 18F vagy kisebb tipus lehet, ez esetben ha a tápja 3V, akkor nem szabad 5V-ot kötni a bemenetére, mert a bemeneti védődióda átvezet, és rosszabb esetben kiég, ami a PIC halálát is jelenti.
Ha a táp lassan változik akkor semmi gond.
Már hogyne lennnek benne az adatlapban az erre vonatkozó paraméterek? Most találomra elővettem a 16F887-esét, az "Absolute Maximum Ratings" fejezetben ezt látom:
Idézet: „ Voltage on VDD with respect to VSS ................................................................................................... -0.3V to +6.5V Voltage on MCLR with respect to Vss ............................................................................................... -0.3V to +13.5V Voltage on all other pins with respect to VSS ........................................................................... -0.3V to (VDD + 0.3V) ” Eszerint nem megengedett, hogy a Vdd fölé menj a bemeneteken 0.3V-nál többel, ez tulajdonképpen a bemeneteken lévő clamp diódák miatt van így. Ha a tápfeszültség változik, akkor valahogy máshogy kell megfogni a bemeneteken a szintet. Még az is jó lehet, ha a 3V-os tápfeszültségre lövöd be a maximális magas szintet, ez elég lehet 5V-os tápfeszültség esetén a H szinthez. Viszont feltétlenül ellenőrizni kell az adatlapban ezeket is, nehogy úgy járj, mint nemrég itt a topicban valaki a Schmitt triggeres bemenettel!
Noigen, teljesen igazad van, én is csak a megérzésemre hallgatva nyúltam a 16F887 adatlapjához.
PIC16F505(506)-ról van szó egyszerű feladatot látna el, azért választottam, mert 2V-tól már megy(cr2032 ről járna), amikor meg figyelné bemeneteket, akkor 5V-ról menne egy diódán át, csak azon aggódok, hogy amikor felmegy a táp akkor nem-e meghülyül a futáskor valami, mert több napos időzítéseket kell vele megoldanom.
Ha lelassítod a táp felfutását egy nagyobbacska kondenzátorral és egy soros ellenállással, akkor nem lesz semmi gond a táp miatt. Viszont a jelszintekre valami illesztést kellene, legalább egy RC feszültségosztót illene használni.
Nos:
Úgy gondolom elkészült a kocsim ECAN buszhoz való vezérlő progija. Holnaptól írom a cikket. Tesztelve, minden irányba (ECAN1 <-> ECAN2). CSAK Extended 29 bites címzéssel működik. A szűkebb 11 bites SID nem elég széles a struktúrához. Modulonként mind a 16 Filter ki van használva. Egy TX buffer és 31 RX buffer használatos, de ez szabadon változtatható. Beírja a bejövő DATA frame-et a GPR egy meghatározott területére. Ehhez felhasználja (offsetnek) annak a Filternek a sorszámát ami az adott üzenetet "beengedte". Minden Filter-en "belül" 32 word terület van a GPR-en belül ahová az egyszerre bejövő 1-8 byte hosszúságú adatot beírja. Amennyiben Remote Data Request jön be, azaz "valaki" adatot kér, akkor a modul képes kibányászni hogy honnan hány adatot kell előszedni, és hogy kinek kell visszaküldeni. Az első kép a Címzés felépítést mutatja. Ez a lelke az egésznek. A második a GPR címkiosztását. Ez utóbbin jól látszik hogy minden egyes filter álltal bejött adatnak 32 word-nyi belső helye van. A harmadik kép világossá teszi hogy azért van 32 word-nyi hely mert minden egyes Filter egy eszköz pl a kocsiban. Pl: Bal alblak motor. Ha pl a bal ajtó ablak motorja az ECAN1 Filter 0-n van és ott a 15. Regisztert olvasom akkor éppen arra vagyok kíváncsi mennyi áram folyik a motoron. De a kiosztás, a mi mit jelent az már egyéni "elbánásmód", ahogy az a 3. képen látható.
Tiszteletem. A pic tud e osztani szorozni ? ( lehet sötét a kérdés) :no:
Nos minden PIC, proci tud.
Az egyszerűbbek ezt visszavezetik léptet-kivonás módszerre, a bonyolultabbak hardverből csinálják. Ám ebben is van csúsztatás mert pl. a PIC24-nél a divide utasítást egy repeat-nek kell megelőznie, "X"-szer végrehajtva azt. Szóval noha azt mondják hardverből tudja, az eredmény nem lesz meg egy ciklus alatt.
Az előző hozzászólásomhoz elfelejtettem: egy kis matematika.
Szerintem az osztás nemis lehet meg egy ciklus alatt. Szorzásra lehet olyan logikai hálót építeni, ami a bemenetre ráadva a szorzandókat, a kimeneten a szorzatot adja (papíron szorzás mindenkinek ismert, az alapján levezethető és megépíthető a hálózat). De ugyanez tudtommal osztásra nem létezik, a hardveres osztó is léptet-kivon módszerrel dolgozik.
Lehet dilettáns a kérdés, de milyen az RC feszültségosztó. Egyébként nem feltétlenül kommunikálni akarok a bemeneten, hanem csak szinteket figyelni.
Leírom, mit csinálna a szerkezet, egy meglévő kütyüre telepedne rá, annak a nyomógombjait figyelné. A Nyomógombok 5V-os rendszer részei. Mivel nekem 10 napos időkorlátokat kell megvalósítanom, mindig ketyegni kell a kontrollernek(32.768), ehhez egy cr2032-es elemről táplálkozik. Na most azért, hogy a bemeneti szinteket, ne kelljen külön illeszteni, arra gondoltam,hogy amikor a megfigyelni kívánt kütyü, be van kapcsolva, akkor a uC tápja is megemelkedik közel 5V-ra(5V-nyitófesz(bat46)), és így a bemeneteket 10k soros ellenállásokon keresztül figyelné. Én úgy gondoltam, hogy ezt el kellene viselnie a uC-nek, de ha lassan növelem a tápot, akkor a bemeneten azonnal megjelennek az 5V-os jelek, a táp meg csak később emelkedik erre a szintre, ezáltal tovább van kitéve a fesz. különbség hátrányainak.
Miért nem osztod le az 5V-os jeleket?
Idézet: „Na most azért, hogy a bemeneti szinteket, ne kelljen külön illeszteni” Sajnálsz bemenetenként két ellenállást? Az RC osztó váltóáramokat oszt, ahol a soros impedanciát a kondi értéke és a jel frekije határozza meg. Egyenáramra nem alkalmas. De ez itt erősen off és kezdő kérdésekben a helye! Ilyen hiányosságokkal hogy lehet nekiállni bárminek is?
Igen sajnálom, az ellenállásokat nagyon kevés a hely, ez a pár ellenállás egész pontosan 6 lenne.
A sorosak még ráférnek a panelra, bőven. Nem írtam, bár gondoltam egyértelmű, de az 5v-ról történő járatás előnye, hogy az elem élettartamát jóval megnöveli, ami számomra előnyös. Egyébként még ha kinyitna a clamp dióda, amire kis esély van, max induláskor, a soros ellenálláson, már nem tudna kialakulni jelentős áram, mivel nagyon kicsi lenne a potenciál különbség, az az ellenálláson realizálódna. RC osztóról annyit, hogy én sehol sem alkalmaznám, egy f*** ***r, több zavart visz a rendszerbe, mint amennyi hozadéka van, akkor már inkább cd4050.
Elrontottam, nem RC feszültségosztót akartam írni, csak simán feszültségosztót. Az RC még az előző, tápváltozás lassításánál volt, aztán fejben tovább maradt.
Az RC osztónak megvan a maga helye. Egyébként meg minek kérdezősködsz, ha mindenre tudod a választ? Na nekem mára is elegem lett...
Sziasztok!
Elkészültem a hőfokmérővel amihez a tanácsot kértem. A végső megoldás az lett hogy beállítottam hogy egy fokra egyet lépjen az AD ez pont 10k ellenállással sikerült megoldani. Elvettem belőle 155fokot ezzel kb 70foktól pontosan mér egészten 130-ig max 3fokot téved. 70 fok alatt meg sokat vagy 10-et is mert nem lináris a szonda(KTY81) de nem lényeg mert 70fok aslatt nem is nagyon üzemel a simson és majd egyszer teszek rá egy lineáris szondát. Annyi lenne még vele a gond hogy néha vannak titokzatos lefagyások. Nem tudom, hogy a program miatt vagy a táp miatt fagy le. A táp a motor akkuja 12V-os ami tele van zavarokkal. Becsatolom a programot ha valaki átnézné hogy van e benne olyan hiba ami miatt lefagyhat azt megköszönném nagyon. Kommentezve is van, hogy hol mit csinál. Arra lennék kíváncsi van e benne olyan rész ami lefagyást okoz. Tényleg csak néha fagy le, de zavaró emiatt elveszteni a megtett kilométereket. Idézet: „fogyatékos sz*r” Ha valaki élőbeszédben kimondja, már ott is felfigyel a hallgatóság. De milyen speciális felfogás kell ahhoz, hogy valaki az ilyen szavakat bepötyögje a gépbe... Szóval az ilyeneket kéretik a jövőben mellőzni!
Próbáld meg tápról üzemeltetni, valamilyen ütemadóval szimulálva a sebesség impulzusokat. Ha így nem fagy le, akkor táplálási gondok lesznek.
|
Bejelentkezés
Hirdetés |