Fórum témák
» Több friss téma |
Csak akkor érdemes ilyet csinálni, ha sokat foglalkozol smd csipekkel és ráadásul hasonló tokozásúakkal különben a más méretű és tokozásúakhoz is kell készítened,(TQFP, QFN, stb.,fölösleges). 1 darab esetében csináld amit Hp41c kolléga javasolt. Úgy készítsd el az áramkört, hogy kivezeted a programozó lábakat, (ICSP->ez van a Pickiten) és a kész áramkörön programozod fel a PIC-et.
Köszönöm szépen a segítséget, már csak egy errorom van: ezt írja ki:
Expecting LVALUE such as a variable name or * expression ehez a sorhoz írja: SLAVE_ADDRESS = 0x30; Mi lehet a baj? Köszönöm
Hogyan van a SLAVE_ADDRESS deklarálva? #define ... Akkor az értékét ott kell beállítani...
Igen,
Most lefordította, de még minidg azt írja hogy ertek : 255, Köszönöm a segítséget! Adrián
Hogyan van az MCP9808 A2, A1, A0 lába bekötve? Ha mind 0, alacsony szintre van kötve, akkor igaz a 0x30 slave cím. Ha nem mind 0, akkor a szinteket A2.. A0 sorban írd fel, írj a végére egy 0 bitet, az így kiolvasható 4 bites számot add hozzá a 0x30 -hoz.
Nem 0x18?
Én használok ilyet , épp itt van előttem , a0,a1,a2 magas. címe: 0x1f
Szia
Én ez a szenzort most épp PHP ben olvasom de könnyű átírni C-re. A lényeg a matek ami lekezeli a negatív értékeket is ,az meg benne van:
Nemszóltam
ez esetben tényleg 0x30.Béna i2c_write fügyvény......
Hello!
"Úgy készítsd el az áramkört, hogy kivezeted a programozó lábakat" ... csináltam ilyet, de azért akarom külön felprogramozni,(aztán majd beforrasztani)mert olyan kicsi a hely hogy nem fér el még külön a kivezetett lábak is. De valóban úgy van ahogy írod,1 db-ért nem érdemes,de megpróbálok egyet ami most kell max abból a többlábast. Üdv!
Miért nem használod magát a RAM -ba helyezett table[] tömböt adattárolásra? Hagyd el a const -ot és a kezdőértéket a deklaráció elől. Avagy néhán #define -vel az egyedi néven való hivatkozás is megoldható, bár ilyen rövid nevek esetén beláthatatlanok lesznek a következmények:
A hozzászólás módosítva: Márc 26, 2014
Nagyon köszi!
Ezt most kipróbálom. Az előbb öcsémmel beszélem. Ő nem pic-cel foglalkozik, ezt javasolta: char table[2] = { 'a' , 'b' }; de megnéztem a dissasembly-t és még sokkal lassabb mintha végig 'if'elném az egészet.
A létrehozott változók milyen típusúak? Hogyan lehet kezdő értéket adni nekik? És hogyan hívhatók elő? pl: PORTA = table[2] ?? az akkor yyy lesz?
A C program fordítása egy előkészítő (preprocessor) fázisból és egy fordítási fázisból áll. A #define direktíva a preprocesszornak szól. Arra utasítja, hogy a fenti példában, hogy az xxx minden előfodulását cserélje le table[0] -ra. A tényleges fordító a lecseréléssel előálló programot fordítja.
Tehát nem hoz létre új változót, ennek megfelelően az xxx típusa megegyezik a table[0] típusával. pl. Ha PORTA = xxx; szerepel valahol a kiindulási forrásban, akkor a #define xxx table[0] hatására a fordító a PORTA = table[0]; sort fogja fordítani.
Elég jól elszerencsétlenkedem ezzel. Ha létrehozok eg ilyet:
akkor ezt a hibát hozza: 154.13 invalid dimension A hozzászólás módosítva: Márc 26, 2014
De így sem lesz PORTB-n a 'v'..
![]()
Rájöttem hogy miért nem az van kinn a portb-n .
Ezzel az a baj hogy még ismét konstans marad csak az ascii tábla értéke lesz a betűk helyén. Nekem hasonló kellene, de ez ugye nem jó:
Sőt igazából az is jó lenne ha maga a táblázat készlet sem lenne fix
De egyenlőre az előző ami nagyon fonts lenne. A hozzászólás módosítva: Márc 26, 2014
Szervusz!
Ez egy két elemmű tömb: char table[2] = { 'q' , 'v'}; melynek első eleme a table[0] a második pedig a table[1] és ez tartalmazza a 'v' karaktert!
valami ilyet akarsz?
A hozzászólás módosítva: Márc 26, 2014
Igen azt hiszem. Köszönöm! Megírom hogy erre gondoltam e.
A hozzászólás módosítva: Márc 26, 2014
Öröm és boldogság. Nálad 22.9375 °C van!
Igen. Ott van az adatlap 5-1 példájában. A hozzászólás módosítva: Márc 26, 2014
Ha ezt a két sort a forrásba teszed, a preprocesszor már a következő sort adja a C fordítónak
A hozzászólás módosítva: Márc 26, 2014
Sikerült végre egy használható tömb-öt létrehozni. Túl egyszerű volt hogy sikerüljön.
A hozzászólás módosítva: Márc 26, 2014
Sziasztok,
Azt szeretném kérdezni, hogy: Ha a program elején létrehozok két változót ami legyen mondjuk 'a' és 'b' és ezeknek kezdő értékként nullát adok majd programon belül többször hozzáadok 1-et hol az egyikhez hol a másikhoz a jelenség a következő: Hiába adom meg a progi elején hogy 'A=0 ill. b=0' a számolás mindig 255-től kezdődik és csak az első hozzáadás után lesz nulla. Viszont amikor a programon belül kell ismét felvenni a kezdő nulla értéket akkor tökéletesen működik. Miért marad az elején 255-ön az érték és progin belül meg jó? Üdv A hozzászólás módosítva: Márc 27, 2014
Másold be a programrészletet, így azt sem tudjuk, milyen nyelvről beszélsz és mit csináltál konkrétan ( azaz hol szegted meg a szabályokat az elvárásoddal kapcsolatban! ) !
Nyilvanvaloan nem hozza letre a nulla erteket a valtozo letrehozasakor (nem inicializal), hanem csak lefoglal ket helyet.
A programod legeslegelejen adj nekik kozvetlenul erteket, irj bele nullat. Idézet: Ezért inkább a lokális változóval összefüggő problémára gondolok, de ez így jóslás „és ezeknek kezdő értékként nullát adok” ! A hozzászólás módosítva: Márc 27, 2014
|
Bejelentkezés
Hirdetés |




ez esetben tényleg 0x30.
