Fórum témák

» Több friss téma
Fórum » MikroPascal kérdések
 
Témaindító: bozsokiandras, idő: Máj 15, 2006
Témakörök:
Lapozás: OK   15 / 29
(#) m.joco válasza Ktulu hozzászólására (») Szept 29, 2010 /
 
Hello
Próbálj meg 100-200ms késleltetést betenni a nokia clear utasítás elé és mögé is.
Üdv.
(#) Meggányver válasza proli007 hozzászólására (») Szept 29, 2010 /
 
Köszi
(#) Meggányver hozzászólása Okt 1, 2010 /
 
Sziasztok


Tudja valaki, hogy mit kéne módosítani Nokia 3310-es uniton, hogy 3210 -es kijelzőt is meghajtson?
(#) Ktulu válasza Ktulu hozzászólására (») Okt 1, 2010 /
 
Felvetettem a kerdest a MikroElektronika forumon, es valoban bug-rol van szo.
Bővebben: Link
(#) Ktulu válasza Meggányver hozzászólására (») Okt 1, 2010 /
 
Emlekeim szerint a ket kijelzo megegyezik, (PCD8544) tehat semmit.
(#) Meggányver válasza Ktulu hozzászólására (») Okt 1, 2010 /
 
Szia

Kipróbáltam 3210 kijelzőn nem ír ki semmit a 3310 megy gond nélkül.
(#) Taki33 válasza Meggányver hozzászólására (») Okt 1, 2010 /
 
Lehet, hogy nem jól érintkezik a gumi átvezető, vagy egyszerűen csak halott a kijelző!
(#) gthomas hozzászólása Okt 3, 2010 /
 
Sziasztok!

Bütykölök egy 18F4550-et, egyenlőre próbapanelen.
A mikropascalban lévő mintaprogramot töltöttem le.
Nem vártam, hogy egyből elindul, (nem is figyeltem az eredményt) csak az USB-t próbálgatom elindítani. Szóval azt vártam, hogyha rádugom a gépre az USB kábelt, a Windows felkapja a fejét, hogy "új hardver" és elkezdi keresni a drivert. Mielőtt elkezdtem az ismerkedést, letöltöttem és installáltam ezt:
"Microchip Application Libraries v2010-08-04 Installer.exe" ,
gondolom ebben vannak (többek között) a microchip-es USB driverek is. Tehát szerintem már az elején nem ok valami, a windowsnak jelezni kellene hogy valami usb-s holmit rádugtak. Nem?

Más. Rég foglakoztat, hogy miért használnak külső oscillátort a pic-ekhez (inkább a programozáshoz értek mint a hw-hoz). A pic-ekben alapból benne van a rezgőkör, én mindig így állítom be, mi az előnye a külső oscillátornak?

Köszi! T.
(#) El_Pinyo válasza gthomas hozzászólására (») Okt 4, 2010 /
 
Szia!
Nem pontosan értem az USB-s problémát. Megfelelő firmware van a PIC- be programozva? A hardver a gyári ajánlások szerint van kialakítva? Nekem nagyon úgy tűnik, hogy az USB modul be sincs kapcsolva, így a windows nem is érzékel semmit, hogy USB eszköz csatlakozik. A külső kvarc USB- s alkalmazásokhoz elengedhetetlen. A belső óra nagyon pontatlan, időbeli stabilitása sem megfelelő. Szerintem nézz szét itt az oldalon is az USB- s alkalmazásokkal kapcsolatban. Több cikk és fórumtéma is foglalkozik vele.
(#) gthomas válasza El_Pinyo hozzászólására (») Okt 4, 2010 /
 
Köszi, megtaláltam a megfelelő doksit, akkor olvasgatom.

T.
(#) Meggányver hozzászólása Okt 9, 2010 /
 
Sziasztok

Nincs valakinek Nokia 3510i Lcd -hez Unit?
(#) pako válasza Meggányver hozzászólására (») Okt 9, 2010 /
 
Tessék. Az inicializálásnál látsz olyan sort, hogy SendCMD($20), ha azzal nem lenne jó a kép, javítsd át $21-re. Kapsz hozzá ékezetes karakterkészletet is.
A WriteLn használata:
(#) Meggányver válasza pako hozzászólására (») Okt 9, 2010 /
 
Szia

Nagyon szépen köszönöm.
Mindjárt próbálom is ki.
(#) Meggányver válasza pako hozzászólására (») Okt 9, 2010 /
 
Szia

Egy rajzot tudnál küldeni az illesztésről?
Köszi
(#) Meggányver válasza pako hozzászólására (») Okt 9, 2010 /
 
Helló

Sajnos ezzel a hibával leáll nem fordítja le :

Invalid ASM instruction: "BTFSC data,7" n3510i_lcd.mpas

a data -t átírtam más változóra és úgy sem fordul.
Jelenleg 4.1 MikroPascal pro van fent.
PIC16F819 -el szertném majd hajtani.

A BMPs.mpas Unitot sem találja.
(#) pako válasza Meggányver hozzászólására (») Okt 9, 2010 /
 
A "USES" részből töröld ki a "BMPs"-t.
A Senddata és Sendcmd procedúrákban az asm-es részeket szedd ki, és írd át pascal szintaxisra azokat a részeket. 18F452-re írtam ezt, a tiédben ezek szerint nincs ilyen assembly utasítás. Még a portlábakat kell átírnod annak megfelelően, hogy hova kötöd a kijelzőt.
(#) Meggányver válasza pako hozzászólására (») Okt 9, 2010 /
 
Köszi, küszködök vele előbb vagy utóbb sikerülni fog.
(#) tallerbator hozzászólása Okt 12, 2010 /
 
Sziasztok!
Van egy pic16f716-os PIC-em, rávan kötve egy LED, egy TSOP4836-os infra szenzor és egy infra LED. Annyit szeretnék elérni, hogy alapból világít a led és ha belevilágítok az infra LED-del a szenzorba akkor meg nem világít. Ez akkor működött amikor az infra LED-nek kívülről adtam a 36kHz-et, de ha PWM-el akarom, akkor nem akar működni. Valamiért nem működik a PWM 31-41kHz között.
Valaki eltudná mondani, hogy miért nem működik?
(#) gthomas hozzászólása Nov 1, 2010 /
 
Sziasztok!

ds1821-el szeretnék hőmérsékletet mérni tizedes pontossággal.

A hőmérséklet jól jön, viszont a tizedes érték nem.
Az érték változik, de az első tizedes érték mindig 4-es, tehát valami nem ok.

A counter regiszter 9 bites, viszont az ow_read csak bytokat tud olvasni. Szerintem itt nincs rendben valami. Így próbáltam:


//-> tizedesek

count_remain:=0;
count_per_c:=0;

Ow_Reset(PORTC, 3);
Ow_Write(PORTC, 3, 0xA0);
delay_ms(320);

count_remain :=Ow_Read(PORTC, 3) shl 1;
count_remain := count_remain + (Ow_Read(PORTC, 3) shr 7);

Ow_Reset(PORTC, 3);
Ow_Write(PORTC, 3, 0x41);
Ow_Write(PORTC, 3, 0xA0);
delay_ms(320);

count_per_c :=Ow_Read(PORTC, 3) shl 1;
count_per_c := count_per_c + (Ow_Read(PORTC, 3) shr 7);
//-> tizedesek


temp:=temp-0.5+((count_per_c-count_remain)/count_per_c);

floattostr(temp,st);
lcd_out(2,1,st);

Van valakinek ötlete? Köszi!
(#) DecebaL hozzászólása Nov 16, 2010 /
 
Sziasztok!

Nincs valakinek MAX6956 - működö Unitja?
Köszönöm.
(#) Dolphi hozzászólása Feb 15, 2011 /
 
Sziasztok!

Nem régóta ismerkedek a mikropascallal avr-es környezetben. Szépen haladok is, de sehogy nem tudom megoldani a szoftveres véletlenszámgenerálást. (Nem akarom igénybe venni acd bemenetet.) A Mikroe oldalon található forráskódot próbáltam használni, de nem fordítja le a kódot, az ASM-hez meg sajnos nem értek.
Idézet:
„function random_(max_r : byte) : byte;
begin
random := random;
repeat
begin
asm
RLf _random,W
RLf _random,W
BTFSC _random,4
XORLW 1
BTFSC _random,5
XORLW 1
BTFSC _random,3
XORLW 1
MOVWF _random
end;
end;
until ((random < max_r) AND (random > 0));
result := random;
end;

Ha valakinek van ötlete, akkor azt szívesen várom.
Előre is köszönöm!
(#) kokok hozzászólása Márc 7, 2011 /
 
Sziasztok, kicsit belekeveredtem egy PIC16f877 portbeállításba, remélem valaki tud segíteni, mert a leírásból nem volt világos.
A lényeg hogy az RA0. és RA1-et analóg bemenetként akarom használni, RA2-RA.5 digitális bemenet, és RE.0-RE.1 szintén digitális bemenet, RE.2 kimenet.
A problémám az hogy hogyan adom meg hogy az RA0-1 analóg legyen és a többi digitális, mire kell állítani az ADCON0 és az ADCON1-et?
Előre is köszönöm a segítséget!
(#) brazdas válasza kokok hozzászólására (») Márc 7, 2011 /
 
Szia!
A PIC16F877 doksijában, a 122.oldalon léáthatod hogy az analog portok confugurálása kötött, csak azokat a kombinációkat lehet beállítani ami ebben a táblázatban szerepel. Olyan lehet hogy csak az RA0,RA1-analog a többi digitális. Az ADCON1regiszter PCFG0-PCFG3 bitjei 1101, de ekkor az RA3,RA2-n a referenciának kell lennie. Amit te akarsz azt szerintem nem lehet beállítani. Igen ez szívás az ember nagy bőszen azt gondolhatlója hogy ha egy portra az van írva hogy analog/digit akkor a részletes ismertetésnél szembesül a korlátozásokkal. Nem ez az egyetlen eset a PIC-nél sajnos. Én is jártam már így...
Üdv
brs
(#) vilmosd válasza kokok hozzászólására (») Márc 7, 2011 /
 
Hali
Hasznalj 16F887-et. Ott szabadon valaszthatoak az uzemmodok. Es meg olcsobb is.
(#) kokok válasza brazdas hozzászólására (») Márc 7, 2011 /
 
Szia
ez volt a bajom hogy nem találtam a táblázatba ezt a kombinációt amit én akartam összehozni.
Azért köszönöm a segítséget
(#) 925 hozzászólása Márc 11, 2011 /
 
Sziasztok!
Soros porton próbálok fogadni 6 byte adatot, a problémám hogy az első 2 byte-ot leveszi szépen, de a többibe a második adatát rakja bel.
Az adatküldés szépen üzemel, (azt kipróbáltam), de nem tudom mi lehet a hiba hogy nem akar levenni több adatot.

Pic16f877
3,6864MHz

Programrész:
USART_Init(9600);

if Usart_Data_Ready() = 1 then begin
adat1:=Usart_Read;
adat2:=Usart_Read;
adat3:=Usart_Read;
adat4:=Usart_Read;
adat5:=Usart_Read;
adat6:=Usart_Read;

Usart_Write(adat1);
Usart_Write(adat2);
Usart_Write(adat3);
Usart_Write(adat4);
Usart_Write(adat5);
Usart_Write(adat6);
end;


segítséget előre is köszönöm
(#) gozi hozzászólása Márc 11, 2011 /
 
Minden bájt vétele előtt várakozni kell a következő adatra, ha a program gyorsabban dolgozza fel az adatokat, mint ahogy azok megérkeznének (tehát nincsenek a pufferben).

Tehát minden bájt után várakozol a következőre (felhasználva az usart data ready függvényt), vagy fix értékű késleltetést is beépíthetsz.
(#) 925 válasza gozi hozzászólására (») Márc 11, 2011 /
 
próbáltam az usart data ready függvényt minden olvasás elé betenni, de nem volt jó, megpróbálom az időzítést is.
Köszi
(#) bbatka válasza 925 hozzászólására (») Márc 11, 2011 /
 
Szerintem a vétel - adást egy 6 szoros ciklusba kellene tenni. Az adat változó meg egy 6 elemű tömb lenne.
Bár ez utóbbi is fölösleges mert gondolom az adat változó tartalmára nincs szükséged később így egy síma byte változó lehetne.
(#) gozi válasza 925 hozzászólására (») Márc 11, 2011 /
 
Próbáld így:
  1. if Usart_Data_Ready() = 1 then begin
  2. adat1:=Usart_Read;
  3. repeat until usart_data_ready=1;
  4. adat2:=Usart_Read;
  5. repeat until usart_data_ready=1;
  6. adat3:=Usart_Read;
  7. repeat until usart_data_ready=1;
  8. adat4:=Usart_Read;
  9. repeat until usart_data_ready=1;
  10. adat5:=Usart_Read;
  11. repeat until usart_data_ready=1;
  12. adat6:=Usart_Read;
  13. end;

A fenti megoldásnak azért vannak veszélyei, ugyanis adatátviteli problémák miatt végtelen ciklus, esetleg az adatmezők eltolódása is kialakulhat (megfelelő technikával ezek elkerülhetők).
Következő: »»   15 / 29
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