Fórum témák
» Több friss téma |
A másik mikrovezérlővel is a debug express kártyán keresztül próbáltad ki?
a debug expresen van egy beépített 16F887 es chip. Ott azt a chippet használom.
Igen. Elöre forgás esetén van feszültség, hátramenet esetén 0 feszültség van. Ha debug express panelon keresztül csinálom akkor mindkét irányban van feszültség és ugye tud előre is meg hátrafele is forogni ebben az esetben
Igen. Ha debug expresses megoldás esetén ha PORTD1 van magas szinten akkor 3 V van a hídágban azaz a motoron, ellenkező esetben a PORTD 2 van magas szinten és - 3V van a motoron. De ha a másik chipet használom akkor ez a -3V nem jelenig meg, abban esetben 0 V lesz a motoron pedig a mikrokontrollerböl ugyanazok a vezérlőfeszültségek jönnek ki mint a debug express próbapanel esetében
Végül a programban volt a hiba. Az if/ else parancssorral a visszafele menet nem működött. Két if parancsot irtam be és nem irtam else-t és igy már megy visszafele is. Érdekes
Ez lett végül a megfelelő:
Azért egy pergésmentesítőt tennék bele a gombnyomás vizsgálatára.
A kód működhet persze így is, de ez nem a legjobb megoldás. Sőt.. És a program ugrálást is kihagynám a helyedbe, később okozhat gubancot és nagyobb programok esetében el fogod veszteni a fonalat az ugrándozás miatt. Ez helyett:
A hozzászólás módosítva: Nov 11, 2015
Sziasztok!
Másik topikba írtam, de ez pörög, az meg október óta pihen... (úgyhogy bocs, adminék a duplaposztért! ) Sziasztok! 12f683-t akarnék programozni (eddig 18-s sorozat volt csak a kezemben). Az asm elején beírom:
Majd a 44. sorban jön majd az INIT . Eddig rendben, de ha a 12f683.inc van beírva a fejlécbe, a quickbuild ezzel a hibaüzenettel kiszáll: Error[113] D:\PROJECTS\MCU\ELGYSZAB.ASM 29 : Symbol not previously defined (INIT) Másik chipet választva ez nem jelent neki gondot. Kérdésem1: ezeknél a kisebb sorozatúaknál miért nem engedi a RESET utáni ugrást ill. hogyan kell azt beírnom? (Kipróbáltam, 18f1220, 1320-t kiválasztani, simán eszi a BRA INIT sort. ) Köszönettel: András Ja, az úgy volt... ebből a kis tokból van a fiókban sok darab, el szeretném használni őket! A hozzászólás módosítva: Nov 11, 2015
Pedig ez így jó! Kisbetű-nagybetű eltérés vagy ilyesmi?
Köszönöm, én is így gondoltam, akkor megint a W..f*s akadékoskodik.
MPlab 8.92, Win 8.1, saját mappába telepítve, Projektek másik tárolón vannak. Az a furcsa, másik, már meglévő projekttel nincs baja, ez nem tetszik neki. Na majd megpróbálom Linux alól, csak ott még nem mókoltam PIC-et... Ja, amúgy próbáltam kis- és nagybetűvel is, másik oszlopba... nem akarja. Pedig a saját maga által létrehozott projekt, nem import.
Ékezetes betűk és egyéb, nem odaillő dolgok ( pl. space ) nincsenek az elérési úton ?!
Szépen kiírta, mi a baja: Symbol not previously defined (INIT) - A szimbólum nem definiált (INIT)
Szövegszerkesztővel keress rá. Lehet, hogy más karakter is van a címkében (html olvalról copy+paste).
Hali!
Nos, ezt elkerülendő, átneveztem másra, akkor sem szereti. Csak ha másik csipet választok, akkor hajlandó. Ha 18f1320 a célvezérlő, rendben leszalad a fordítás, ha visszaváltok 12f683-ra, beakad ezzel. Pedig a projektet ő maga hozta létre...
Javaslom a fórdító által használt 12f683.asm vagy .inc fájlt amit be include-olsz nézd meg, hogy van benne definiálva az az (INIT).
Volt már nekem is ilyen gondom, persze C10-12-16-ban, de talán pont ennél a típusnál. A hozzászólás módosítva: Nov 11, 2015
Hali!
Nincs az INIT definiálva, ez csak egy címke. De közben megoldódott! Idézet: „(#) nedudgi válasza ybanez hozzászólására (») Válasz • 14:22 / Címkét tartalmazó sor nem tartalmazhat makrót.” A hozzászólás módosítva: Nov 11, 2015
Nem azért de tök másról van szó... Az INIT ebben a programban egy címke, ami gyakorlatilag lehetne bármi, nem kell, hogy definiálva legyen bárhol is, csak ha valahol hivatkozol rá, mint pl itt egy goto val akkor valahol a programban lennie is kell egy ilyennek, hogy oda tudjon ugorni.
Ok kösz a válltoztatást.
Egy távirányitós autót szeretnék vezérelni így, szóval tudjon előre hátra menni valamint tudjon kanyarodni is. Ehhez ugye két motorra van szükség és mind a két motor esetében szükséges a forgásirány váltás. Öreg CD meghajtóbol szereltem ki a motrokat. Egy 9 V -os elemet szeretnék használni tápnak. Külön külön képes ez a táp meghajtani a motrokat viszont egyszerre a két motrot már nem birja. Mi lenne erre a megoldás, vagy mikrokontroleral készíteni egy vezérlést ami mindig csak az egyik motor vezérlését engedélyezi? Kanyarodni ugye nem kell állandoan addig le lehetne kapcsolni a másik motrot? Valamint mivel két motor van két H híd is kellene a forgásirány válltoztatások miatt?
Gyanítom, ezek a motorok elég kicsik, ha már CD-böl vannak.
Hasznáj L293D tipusjelű motordrivert. Ezzel mindkét motort meg tudod hajtani.
Másik topikba írtam, de ez pörög, az meg október óta pihen... (úgyhogy bocs, adminék a duplaposztért!
XVIII. Csak egy helyen kérdezz! A fórumon egy kérdést egyszerre csak egy helyre tegyünk fel. Amennyiben több helyre is beírjuk ugyan azt a hozzászólást, a moderátorok kérdés nélkül törölhetik hozzászólásainkat és ki is tilthatnak türelmetlenség és tiszteletlenség miatt.
Nem értek az ASM-hez, de gondoltam mivel definíció hibára hivatkozik a fórdító megemlítettem.
Egyet értek sonajkniz bejegyzésével:
Idézet: 2 motort könnyedén lehet vele vezérelni.„Használj L293D típusjelű motor meghajtó IC-t.” Bővebben: L293D manual A hozzászólás módosítva: Nov 11, 2015
Üdv.
A vagy kapcsolatot és az és kapcsolatot hogy szokták C ben megadni, valamint a magyar billentyűzeten hol találom ezeket az irásjeleket?
C -ben a vagy jele a |, az és jele a &.
Magyar billenytűzeten a <alt-gray><w> illetve <alt-gray><c>.
Annyit még hozzátennék, hogy az egyszeres | a bináris, a dupla || a logikai vagy operátor. Az és operátorral ugyanez a helyzet.
Sziasztok!
Van egy MCP9808 hőszenzorom, és egy PIC32MX440F -es mikrokontorllerem. Valamiért a szenzorbol kiolvasott érték,amit egy 2x16 os kijezőre irok ki, 31.94 fok, ha pedig melegitem a szenzort a kezemmel. 15.94-t. Mi lehet a probélma? a, rosszul van a konvertálás, viszont azt az adatlap alpján csináltam.:
b, rosszul konfiguráltam az i2c-t:
c, rossz az órajel, d, nem tudom mi a baj. Addressbyte = 0x3F mivel 0011 és az A lábak tápra vannak huzva, b00111111 Előre is köszönöm a segítséget. az adatlap még ir hogy mikor i2c_read(ACK) i2c_read(NAK); nálam mikor irom hogy fogadottadat = MasterReadI2C(); ide hogy mondom neki hogy vegye az ACK bitet? lehet itt a baj. MCP9808 A hozzászólás módosítva: Nov 13, 2015
Idézet: „Addressbyte = 0x3F mivel 0011 és az A lábak tápra vannak huzva, b00111111” Az adattlapja szerint a címe vagy 0x3E vagy 0x9E, ha az A2 , A1 és A0 láb a tápra van húzva. A címhez jön még a 0 biten a R/W bit. Idézet: „if ((fogadottadat & 0x80) == 0x80){ //TA 3 TCRIT } if ((fogadottadat & 0x40) == 0x40){ //TA > TUPPER }” Ezt a két sort értem, nem csinál semmit sem. Idézet: „if ((fogadottadat & 0x20) == 0x20){ //TA < TLOWER }fogadottadat = fogadottadat & 0x01; //Clear flag bits” Ezt már nem értem. A flag az 5 biten van, az utasítás a 0. -at hagyja csak meg. Inkább így:
Szia!
Köszönöm a segítségét, nem lett sok változás, az a legföbb problémám, hogy a szenzor, két értéket mutat csak, alapbol 28,06, ha pedig a kezemmel a szenzort lefogom ,hogy melegedjen akkor 12,13 at. semmi köztes érték, csak ez a két érték létezik neki. Nem lehet hogy csak az i2c konfigurlásával, vagy orajel beállitássla lehet baj? vagy inkább a konvertálással lehet, hogy fokot irjon ki, amit elöbb néztünk.
Sziasztok.
Ezzel a kapcsolással kapcsolatban szeretnék kérdezni tőletek. Az oldal vége felé található egy olyan,hogy"Contrast Adjustment " Ott leírja,hogy mit és hol kell átírni ahhoz,hogy a conrastot lehessen állítani,az alapérték A9,a minimum kontraszt az 80h a maximum meg FFh. A kérdésem az lenne,hogy a két érték között mennyi lehetőség van még? A minimumra állítva semmit nem látok a kijelzőn,és ugyan ez van maximumon is csak akkor ugye minden fekete |
Bejelentkezés
Hirdetés |