Fórum témák
» Több friss téma |
Sziasztok!
LCD-t szeretnék működtetni, az RB0-RB4 lábakon, vagy akár melyik lábon össze-vissza (pl.: RB0,RB1,RA2,RC0). Hogyan tudom ezt megvalósítani? "PICula projekt"-ben lévő kódot használtam eddig. Próbáltam át írni, hogy a 4 alsó bit-en működjön, sikertelenül. Jobbra tolást próbáltam használni, de olvastam, hogy ha nem "unsigned", akkor nem úgy tol, ahogy szeretném. Idézet: „LCD-t szeretnék működtetni, az RB0-RB4 lábakon” A vezérlő vonalakat bizonyára át tudod írni magad is, az adatkiíráshoz az alábbi sorokat kell átírni a PICula projekt lcd4bit.c mintapéldájában.
Idézet: „... vagy akár melyik lábon össze-vissza (pl.: RB0,RB1,RA2,RC0).” Gondolom, az lcd_write_nibble() függvényt kell átírni. A hozzászólás módosítva: Feb 4, 2013
Ezt próbáltam, azaz átírtam ilyenre, de semmi.
Hoppá, át kellett írni ezeket a makrókat is
Idézet: Remélem, az lcd_write_nibble() belsejében az adatmaszkot is átírtad 0x0F-re! „Ezt próbáltam, azaz átírtam ilyenre, de semmi.” További kellemes küzdést! (én csak fejben tudom szimulálni a programodat...)
Ezeket is át kell írni erre, véleményem szerint:
Utána ami még kell szerintem:
Te írtad jól:
Sziasztok!
Nem panaszkodom a PRO módban a hi-tech.c jól fordít. Nem igazán tudnám asm-ben sem sokkal rövidebbre írni. De amiért írok az, hogy hogyan lehet változó késleltetést írni. Erre gondolok __delay_us( i ); a fordító ide csak konstansot enged. Idézet: Valóban, ezt kihagytam a számításból! De hogy ne kelljen az az lcd4_init() függvényt is átaírni, javaslom, hogy az lcd4_write() függvényt hagyd békén, inkább az lcd_write_nibble() függvényt módosítsuk!„Utána ami még kell szerintem:
Idézet: „//-- Fél adatbájt írása void lcd_write_nibble(unsigned char data) { lcd_rw = 0; // R/W = 0, íráshoz lcd_dataport = (data & 0xF0)>>4; // az alsó félbájtba írunk lcd_en_pulse(); }” Ebben már csak az a hiba, hogy az RB4..RB7 biteket is módosítjuk... Így tisztességesebb:
Köszönöm. Így most egy kicsit kevésbé rettegek, mert a jelek szerint tudni fog működni az elképzelésem. Valóban érdekes különben, hogy a régebbi kártyák gyorsabbak.
Sziasztok!
Hi-tech.cben a fordító magától ment!? Ezt értem de azt nemlátom hol tölti mindezt vissza??
Szia!
Nem tudom, de mintha a 13.sorban a PCLATH-ot kezdené visszatölteni !? Mindenesetre előtte ott kellene lennie az ISR-nek! Steve
Igen azt az egyet látom én is. De a Status és a W?
Ez nem semmi.... Működik. Mondjuk per-pill még nem értem miért, de csak rájövök.
Köszönöm szépen. Csak most vettem észre, hogy írtál.
Nincs tovább ( a 13.sor alatt ?) ?!
Steve szerk.: ez így szerintem nem jó egyébként sem, mert a PCLATH előtt GOTO-val megy az ISR-re ( hogy fog visszajönni, onnan is konkrét címmel ?!) ! A hozzászólás módosítva: Feb 4, 2013
Nincsen.. Ez van pontosan:
Itt valamit nem listáz ki, mert a memóriacím 000B-ről 00A4-re változik a 9-12 sor között !
( én nem használom a HITECH-et! ) Steve
Akkor ezek szerint ez így jó? csak nem listázza ki?
Szerintem akár jó is lehet, mert a két listázott utasítás között kb.150 memóriahelyet elfoglalt ( hogy mi van benne azt én nem tudom! )!
Steve
Észrevettem a címek nem sorrendben vannak. Van hogy meg sincsenek, van hogy valahol felbukkan.
Sziasztok valaki le bírná nekem ezt fordítani hex-be mert nekem egy csomó hibát ír ki mplab meg más programok is. Ennek a dolognak lenne a programja fordmérő
Előre is köszönöm a segítségeket és ha a hiba okát is közölné velem valami vagy hogy melyik progival sikerült lefordítania azt nagyon megköszönném. A hozzászólás módosítva: Feb 5, 2013
Szia
Segiteni nem sokat tudok de az oldal közepén ott a HEX file.
Jó napot!
Ismét elővettem az usart-ot. Betartom a Hp41c általi eljárást,de továbbra is előjön a hiba. Azthiszem sejtem mit értek az alatt, hogy leáll. Benne marad a megszakításban. Fogalmam sincsen miért okozza a megszakításban ragadást ha sok byte-ot küldök egyszerre. Már az egész PIR1-et törlöm, de akkor is ottmarad!
Szia!
PIR1 -ben nem lehet törölni az RCIF bitet.... Ez a bit csak az RCREG kiolvasására törlődik.
Tudom, azt ki is olvasom. A 16f887-es datasheet-je alapján járok el. Azt sem értem, ha a TXEN ki van kapcsolva akkor a vevő miért nem működik. De ha be van akkor is sok byte küldésekor beleragad a megszakításba.
Sziasztok!
Az lenne a kérdésem a PICkit2 gyári próbapanelon a PP1-es poti a Pic16f690-es pic melyik lábára csatlakozik?
Az RA0-ra. Az a 2-es láb.
A hozzászólás módosítva: Feb 5, 2013
Sziasztok
Onyan kérdésemlenne hogy esetleg valaki vásárolt már ebay-en PIC-et, kicsit szkeptikus vagyok a valodiságával.
Egyszerűen szétvet már az ideg. Assemblyben sem megy. Egyszerűen ottmarad a megszakításban és fogalmam sincsen miért.
Üdv!
Megszakitás flag-et nem törölted. |
Bejelentkezés
Hirdetés |