Fórum témák
» Több friss téma |
Sziasztok!
Olyan kérdésem lenne, hogy léteznek-e asm-ben előre megírt függvények, mint a C-ben. Gondolok itt elsődorban linealizációs ciklusra, osztási rutinra PIC18-hoz. Válaszotokat előre is köszönöm.
Szia!
Köszönöm a választ. Az elméleti megoldás megvan, viszont gyakorlatban nem tudom megvalósítani. Egy programrészlet nagy segítség lenne.
Az adatlapban benne van, ezt kell az általad preferált nyelven megírnod ( megfelelő regisztereket a megadott értékekkel feltölteni!)! ( Bővebben: Link, 89.oldal! )
Köszönöm!
De sajna nem igazodok ki rajta. Amire megoldást szeretnék, arra még utalást sem találtam. Viszont lenne egy újabb kérdésem. PIC18-as timerjének H byte-ját hogy lehet kiolvasni? Idézet: „11.5 Timer1 16-Bit Read/Write Mode Timer1 can be configured for 16-bit reads and writes (see Figure 11-2). When the RD16 control bit (T1CON<7>) is set, the address for TMR1H is mapped to a buffer register for the high byte of Timer1. A read from TMR1L will load the contents of the high byte of Timer1 into the Timer1 high byte buffer. This provides the user with the ability to accurately read all 16-bits of Timer1 without having to determine whether a read of the high byte followed by a read of the low byte is valid, due to a rollover between reads. A write to the high byte of Timer1 must also take place through the TMR1H buffer register. Timer1 high byte is updated with the contents of TMR1H when a write occurs to TMR1L. This allows a user to write all 16 bits to both the high and low bytes of Timer1 at once. The high byte of Timer1 is not directly readable or writable in this mode. All reads and writes must ake place through the Timer1 high byte buffer register. Writes to TMR1H do not clear the Timer1 prescaler. The prescaler is only cleared on writes to TMR1L.” A PIC18F242 adatlapjából.
Az előző kérdésen szó volt osztásról gondolom akkor szorzás is, összeadás stb.
A PICCOLO projektben szerintem mindent megtalálsz ami az aritmetikai/matematikai műveletekkel foglalkozik.
Köszi, de ebbe a szövegbe pont úgy nem tud értelmet rakni a GOOGLE fordító, mint a PIC18F14K22-es azonos szövegébe. Én meg főleg nem. Egy két-három soros mintapéldával meg tudnál örvendeztetni.
Szorozni, összeadni tud a PIC18-as, csak osztani nem.
A Gooooogle fordítóval nehéz lesz....
16 bites módban a TMRxL kiolvasása egyben a magas helyiértékű byte értékét egy tárolóba másolja, ez atároló olvasható ki a TMRxH címén. 16 bites íráskor a TMRxL írása az TMRxH átmeneti tárolóban előkészített értéket írja be a timer 16 bites számlálójába. Természetesen a magas helyiértékű byte -ot az alacsony helyiértékű byte írása előtt kell beírni a TMRxH reriszterbe. Az előosztó a TMRxL írásakor nullázódik. A hozzászólás módosítva: Máj 11, 2015
Tehát, ha jól értelmezem, előszőr ki kell olvasnom az alacsonyabb helyiértékű byte-ot, még ha nincs is szükségem rá, ahhoz, hogy megkaphassam a magas helyiértékűt.?
Valahogy így: MOVF TMR1L,W MOVF TMR1H,W Így W-be vérgre az kerül, ami nekem kell?
Sziasztok! Hatalmas segítséget szeretnék tőletek kérni. Kezdő vagyok PIC-ben, ezért érdeklődök itt, hogy hangvezérlés megoldható vele? Ha igen hogyan? Nekem elég lenne pár alap funkció, hogy pl rámondom hogy nyit és nyit egy áramkört záráskor szintén. Hogyan lehetne neki állni ennek? A taspkapcsnál kicsit több dolog kellene. Sőt az lenen az igazi ha szavakkal fellehetne programozni. Szóval új dolgokat lehetne tanítani neki. És ha egyezést lát akkor végre hajtja azt az utasítást.
Talan dsPIC-tol felfele a 32-esek iranyaba igen. 18-assal tutti eselytelen, 24-es talan eppen a hataron. Persze valami normalis dologra gondolok, nem barkacsra.
Hello,
Valaki értelmezné nekem a következő utasításokat. Mármint értem, hogy megnyomom a gombot akkor megnöveli az értéket, de miért van ott az a szorzás jel valamint a 0,1,1 ? Előre is kösz.
Button(&A port, A port 0 lába,debouncing [ms],aktív állapot[logikai 0/1)
MikroC helpje részletesen leírja.
Én nem látok szorzás jelet.A PORTA előtt "&" jel van. Ha ez érdekel akkor nézz utána az operátoroknak. Címet jelöl. A számok pedig értelmet nyernek ha megadod a button függvényt is, de gondolom mikroc-ben van írva így tessék.
Na raptor megelőzött A hozzászólás módosítva: Máj 12, 2015
Sziasztok. Pickit3-al és mikroC programmal egy pic18f2550-et programozok. Rákötöttem egy 2x16-os lcd-t és a problémám az lenne hogy az lcd nem írja ki a szöveget. A bekötést és a programot hibátlannak tartom mert a cursor bekapcsolása után (Lcd_Cmd(_LCD_BLINK_CURSOR_On) a cursor megjelenik ott ahol az lcd_out paranccsal kiíratnám a szöveget. Viszont az lcd is jó mert mikor megvettem manuálisan írattam ki vele karaktereket és jó volt. A mikroC sem talál hibát a programban tehát tanácstalan vagyok.
Ha csak parancsot fogad el én az RS lábat ellenőrizném.
Elnézést, hogy itt kérdezem, de meg tudná valaki mondani, hogy a chipcad-nél hogyan működik a vásárlás? Csak bemegyek mint pl a Lomex-be és kérem ami kell?
Idézet: „Kezdő vagyok PIC-ben, ezért érdeklődök itt, hogy hangvezérlés megoldható vele? Ha igen hogyan?” A Mikroelektronika ehhez a Speak Up! Beszédfelismerő click modult ajánlja, amiben STM32F415RG ARM Cortex-M4F mikrovezérlő ketyeg (32 bit, 168 MHz, 1 MB flash, 196 kB RAM). Állítólag 200 parancs felismerésére alkalmas. A dsPIC30 vagy dspPIC33 mikrovezérlőktől ennél nyilván csak szerényebb eredmény várható, de létezik (vagy csak létezett?) hozzá gyári programkönyvtár. Bővebben: Link
Bekapcsolás után kb 50 msec-el végezz az LCD-n melegresetet. Ha a tápfesz nem elég gyorsan épül fel, hajlamos beborulni az agya.
Amúgy meg, ha nem boldogulsz vele, programozd assemblyben. Akkor legalább látod, mit csinál a program. Ráadásul ugyanannyi memóriára sokszorosa szöveget tudsz rögzíteni.
A pickit3 5V-járól megy az ic és a kijelző is. Tehát amikor bekapcsolom pc-n az 5V-ot akkor indul minden egyszerre. Ez lehet probléma?
Gyakorta szembesűlök vele, hogy ugyanezen felállásnál programmódosítás után nem indul el, vagy hülyeségeket ír ki a kijelző. Ilyenkor lehúzom a panelt a PICKit-ről, majd újra csatlakoztatom. Egyébbként, ha az áramköröd tápfesz körén, van egy 100 qf-os vagy nagyobb kondi, akkor még az újracsatlakoztatás sem elég.
Ajánlom figyelmedbe a következő oldalakat: Bővebben: Link Bővebben: Link
lcd_Init();
Lcd_Cmd(_LCD_CLEAR); Lcd_Cmd(_LCD_CURSOR_OFF); Lcd_Cmd(_LCD_BLINK_CURSOR_ON); delay_ms (1000); Lcd_Out(1,2,"asd"); ez a program vége .... cursot bekapcsol első sor első helyen, aztán lcd_out parancs miatt átlép 1 sor 2 oszlopba de a szöveget már nem írja ki.
Én ugyan a C-hez nem értek, de nem hiányzik onnan még valami? Ugyanis a kursor bekapcsolása és a sorátlépés utasítások. A kiirandó szöveg pedig adat.
Legalábbis assemblyben így működik.
Ez mikroC ... videót is néztem róla csak másik pic-el ott működött. Olvasgattam kicsit . Lehet a osc beállítással lesz a baj csak nem tudok rájönni mi a rossz
|
Bejelentkezés
Hirdetés |