Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1134 / 1320
(#) _vl_ válasza Kisvé hozzászólására (») Aug 26, 2013 /
 
Anno a Frauenhofer mintakódolója a 2x200MHz-es UltraSPARC-on tudott kb. real-time átlagsebességet (mivel egyszálú volt, ezért párhuzamosan két tracket kellett kódoltatni vele, hogy mindkét procit tudja használni, így egy 60 percnyi anyagot kb. 1 óra alatt csinált meg).
Nem vágom teljesen, hogy milyen DSP hardver van a 70MHz-es dsPIC-ben, de így látatlanban kevésnek érzem.
(#) Attila86 hozzászólása Aug 26, 2013 /
 
32 bit bináris -> decimális átalakító rutinja nincs esetleg valakinek? Igazából 27 bit és 8 digit is elég mert a maximum szám ami előfordulhat az 9998001.
(#) Hp41C válasza Attila86 hozzászólására (») Aug 26, 2013 / 1
 
Igazán elrakhatnád vagy használhatnád már a linket. 3 év alatt már sokszor kérted. Még egyszer....
A hozzászólás módosítva: Aug 26, 2013
(#) Attila86 válasza Hp41C hozzászólására (») Aug 26, 2013 /
 
Köszi!
(#) Attila86 válasza Hp41C hozzászólására (») Aug 27, 2013 /
 
Na most olyan kellene ami 4 bájtból négyzetgyököt von. Ilyet még biztos nem kértem.
(Ha szorzás kell bele akkor jó lenne 18F-es rutin a hardveres szorzás miatt.)

Szerk.: Aham, van itt ilyen is
Bővebben: Link
Csak ebben mire való a ACCbHI:ACCbLO regiszterpáros?
A hozzászólás módosítva: Aug 27, 2013
(#) icserny válasza Kisvé hozzászólására (») Aug 27, 2013 /
 
Itt olvasható erről egy vita, s ha jól értem, az a konklúziója, hogy minimum PIC32 kell hozzá, s az ezen az oldalon elérhető Shine MP3 encoder programmal van reális esély...
(#) Kisvé válasza icserny hozzászólására (») Aug 27, 2013 /
 
Nagyon hasznosak a linkek, köszönöm szépen!
A hozzászólás módosítva: Aug 27, 2013
(#) Attila86 válasza Attila86 hozzászólására (») Aug 27, 2013 /
 
A "movfp akármi, WREG" helyett jó lesz a "movf akármi, WREG", az "ALUSTA" helyett pedig a "STATUS"?
(#) Hp41C válasza Attila86 hozzászólására (») Aug 27, 2013 /
 
Ez a rutin PIC17C43 -ra készült...
(#) Attila86 válasza Hp41C hozzászólására (») Aug 27, 2013 /
 
Azt tudom. De átírtam benne ezt a pár dolgot és úgy néz ki működik. Legalábbis ha a 41922562 gyöke 6474, akkor működik. Márpedig annyi.
(#) Attila86 hozzászólása Aug 27, 2013 /
 
Ez az utolsó, ígérem!
Most egy egyszerűbb dolog kellene, egy 5 bájtos számot szeretnék szorozni egy egy bájtossal. Az eredmény 5 bájtnál nem lesz nagyobb. Viszont ilyen rutint biztos nem találok a neten úgyhogy meg írnám magam. Viszont eddig még nem jöttem rá hogyan.
Gondolkodom rajta de ha esetleg rájön valaki hamarabb akkor kérem ne tartsa magában!

Na, mire ezt bepötyögtem már rá is jöttem:
a*b=
a0*b0+
a0*b1*256+
a0*b2*256*256+
a0*b3*256*256*256+
a0*b4*256*256*256*256

Értelem-szerűen a 0 a nulladik bit, 4 a negyedik bit. Már csak valami gusztusos assembly formába kellene mindezt önteni.
(#) _vl_ válasza Attila86 hozzászólására (») Aug 27, 2013 /
 
Pedig ennél egyszerűbb dolog kevés van.
A hosszú szám alsó byte-ját összeszorzod a másik szám byte-jával, az eredmény alsó byte-ja lesz a végeredmény legalsó byte-ja. Az eredmény felső byte-ját beteszed egy akkumuláló regiszterbe.
Utána ciklusban veszed a hosszú szám következő byte-ját, megszorzod a másik szám byte-jával, az eredményhez hozzáadod az akkumuláló regiszter tartalmát, ami kijön eredmény, annak az alsó byte-ja megy a végeredmény következő byte-jába, a felső byte meg vissza az akkumuláló regiszterbe. Aztán a ciklust folytatod. A legvégén az akkumuláló regiszter adja majd a végeredmény legfelső byte-ját.
A hozzászólás módosítva: Aug 27, 2013
(#) Pontiac hozzászólása Aug 28, 2013 /
 
Sziasztok !!!

írtam egy programot Pic 16f84 re megy is a program csak egy kis segítségre lenne szükségem .
Hogyan tudom nyomógombbal működtetni az elindulást meg a bekapcsolási időt szeretném megadni ha valaki segítene meg köszönném

a program így néz ki :

  1. ;===============[ AZONOSÍTÓ rész ]===================
  2. ;#1             Minden fájlhoz nyúláskor 1-gyel növelni!
  3. ;VER: 1.0
  4. ;Dátum:        2010 01 06                              utolsó módosítás
  5. ;Fájlnév      Feladat1.asm    megjegyzés:
  6. ;Írta: Székely Zoltán        ;----------------[Mi ez?]----------------------
  7. ;Futófény szoftveres időzítéssel
  8. ;
  9. ;--[Történet - Ide kerül minden információ]----
  10. ;
  11. ;
  12. ;-------[Spesifikációk, kiegészítések]---------
  13. ;
  14. ;----------------[I/0 Portok]------------------
  15. ;RB1-RB7 porton LED
  16. ;
  17.  
  18. ;=========[Processzor + Konfiguráció]===========
  19. ;
  20.  LIST P=16F628A
  21.  #INCLUDE  "P16F628A.INC"
  22.  __CONFIG _XT_OSC & _CP_OFF & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _BODEN_ON & _LVP_OFF
  23.  
  24. ;-------------[változó deklaráció]--------------
  25.  
  26.                                                                                
  27. ;-----------[PORT irányok beállítása]-----------
  28.  
  29.         ORG     0                                                                                      
  30. START   BSF     STATUS,RP0;BANK1
  31.         MOVLW B'00011100'
  32.         MOVWF TRISA
  33.         MOVLW B'00000000'
  34.         MOVWF TRISB
  35.         MOVLW D'14'
  36.         MOVWF OPTION_REG
  37.         BCF     STATUS, RP0 ;BANK0
  38.  
  39. ;===========[Program]===========================
  40.  
  41.  
  42.  
  43. VISSZA:        
  44.  
  45.                         MOVLW   B'10000001'
  46.                         MOVWF   PORTB
  47.                         MOVLW   B'11000011'
  48.                         MOVWF   PORTB
  49.                        
  50.                         MOVLW   B'11100111'
  51.                         MOVWF   PORTB
  52.                        
  53.                         MOVLW   B'11111111'
  54.                         MOVWF   PORTB
  55.                        
  56.                        
  57.        
  58.  
  59. ;=============[Szubrutin]=======================
  60.  
  61. VILAGIT:
  62.                         MOVLW   B'11111111'
  63.                         MOVWF   PORTB
  64.  
  65.  
  66.                        
  67.                                                
  68.                         END


Légy olyan kedves és használd a "Kód" gombot!
-moderátor-
A hozzászólás módosítva: Aug 29, 2013
(#) foxi63 válasza Pontiac hozzászólására (») Aug 29, 2013 /
 
Szia!
Amikor kirakod a B portra az épp aktuális számot, utána kell egy időzítés, hogy lássad is, mert így 1-2uSEC alatt lefut a programod.Ahhoz hogy látható is legyen kell mindenképp egy aktív időzítőt is beletenni a programodba.A timer2 nevű számláló kiválóan alkalmas erre.pár utasítással elérhető, hogy legyen egy millisec, vagy 0,1sec időzítőd, és ekkor nagyságrenddel egyszerűbb lesz a progid.Hány megás kristályról működik a PIC?
(#) svandras0404 hozzászólása Aug 30, 2013 /
 
Üdv Mindenkinek
Egy kis segítséget szeretnék kérni.
asm-el szeretnék megszakítást programozni.
A progit megírtam, de hiba miatt nem fordítja le.
Az ORG 0x004 cím nem tetszik neki. csak ezt írja hibának más gond nincs, de nem értem mi a gond.
Ezt írja:

Executing: "C:\Program Files\Microchip\MPASM Suite\mplink.exe" /p16F887 "adc.o" /u_DEBUG /z__MPLAB_BUILD=1 /z__MPLAB_DEBUG=1 /o"adc.asm.cof" /M"adc.asm.map" /W
MPLINK 4.43, Linker
Device Database Version 1.9
Copyright (c) 1998-2011 Microchip Technology Inc.
Error - section '.org_1' can not fit the absolute section. Section '.org_1' start=0x00000004, length=0x00000a1e
Errors : 1

Link step failed.
----------------------------------------------------------------------
Debug build of project `C:\Users\andras\Documents\ASM\repkond2\adc.asm.mcp' failed.
Language tool versions: MPASMWIN.exe v5.46, mplink.exe v4.44, mplib.exe v4.44
Preprocessor symbol `__DEBUG' is defined.
Thu Aug 29 21:12:58 2013
----------------------------------------------------------------------
BUILD FAILED

Előre is köszönöm.
(#) mrobi válasza svandras0404 hozzászólására (») Aug 30, 2013 /
 
Rakd fel a kódot. Akkor hátha könnyebben tudunk segíteni!
(#) nedudgi válasza svandras0404 hozzászólására (») Aug 31, 2013 /
 
A fordítás hibátlan, a szerkesztőnek van baja. Hány "org" van a programban?
Kód nélkül nem tudunk segíteni.
A hozzászólás módosítva: Aug 31, 2013
(#) GPeti1977 hozzászólása Aug 31, 2013 /
 
PIC-et és AVR-t eddig csak basic-ben programoztam, most meg ismerném a nagyobb PIC32 családot, így át kell térni a C nyelvre (MPLAB X), viszont lenne egy pár probléma, C nyelv alapjait már megértettem, a fordítóhoz adott plib.h által használható alkalmazásokat tanulgatom. Csakhogy ami eddig basic-ben ment azokat itt nem tudom eddig alkalmazni, pl a starter kit-re rá szeretnék tenni egy 2x16 LCD kijelzőt, csakhogy ahhoz kellene egy .h fájl ami működteti, meg még sok hasonló dolog van, a lényeg az lenne hogy a C nyelv és a nagy teljesítményű kontrollerrel több mindent tudjak mint eddig.
(#) potyo válasza GPeti1977 hozzászólására (») Aug 31, 2013 /
 
Próbálj a neten keresni lcd kezelő forráskódot, esetleg libraryt. Ha nincs, akkor írni kell egyet. De szerintem még itt a hobbielektronikán is van, mintha találkoztam volna vele. Persze ezek néha nem felhasználhatóak direktben, hanem ezt-azt módosítani kell rajtuk, hogy a feladat többi követelményébe beleilljenek.
A hozzászólás módosítva: Aug 31, 2013
(#) _vl_ válasza GPeti1977 hozzászólására (») Aug 31, 2013 /
 
Ha rám hallgatsz, előbb megtanulod a C nyelvet (nem mikrokontrolleren, hanem PC-n), aztán állsz neki ezt a mikrokontrolleres világban kamatoztatni.
(#) GPeti1977 válasza _vl_ hozzászólására (») Aug 31, 2013 /
 
Ott is a visual basic használom lehet váltani kell.
(#) icserny válasza GPeti1977 hozzászólására (») Aug 31, 2013 /
 
Nem váltani kell, csak a repertoárt kell bővíteni. Tukajdonképpen az MPLAB szimulátorában is sok mindent ki lehet próbálni, az is használható terep a C elsajátításához. Az MPLAB X-et nem ismerem.

Lucio Di Jasio könyve a klasszikus bevezetés a PIC32 programozásába (nem is tudok hirtlenjében mást). A C-hez pedig Kernighan és Ritchie ajánlható.
(#) kullers hozzászólása Aug 31, 2013 /
 
Sziasztok,

nagyon megköszönném, ha tudna nekem valaki segíteni a lenti prg.-ban (asm), hogy mégis miért nem akarja a PIC a soros portra küldeni a "16F788CR/LF" karaktersort?
16F788-at használok, 2Mhz-en járatom ezért SPBGR-be DEC12-t írtam, hogy elérjem a 9600baud -ot.
BORTB a LEDEk vezérlése azért van hogy lássam, hol tart a progi, de mivel 0 és 1 aktív ez azt jeleni, hogy a prg lefut, viszont a soros porton nincs semmi!

Ha valaki tudna segíteni, még egyszer is nagyon megköszöném!!!




; sorosport proba.asm
; RA0 és 1 emenetek kapcsolóval
; RB0 és 7 kimenet leddel
; RC7 RX bemenet
; RC6 TX kimenet
; órajel 2MHz
; PROCESSOR 16F877


#include "p16f877.inc"

BCF STATUS,RP0
BCF STATUS,RP1 ;Bank0
CLRF PORTA
CLRF PORTB
CLRF PORTC
BSF STATUS,RP0
BCF STATUS,RP1 ;Bank1
MOVLW 0x06 ;00000110
MOVWF ADCON1 ;A port dig ki be menet legyen
MOVLW 0x03 ;00000011, W-be
MOVWF TRISA ;A bement
CLRF TRISB ;B kimenet
;sorosport beállítások
MOVLW b'10000000'
MOVWF TRISC ;C porton 7 bit bemenet (RX) a többi kimenet
MOVLW 0x0C ;DEC12
MOVWF SPBRG ;Baudrate osztóhoz DEC12
MOVWF b'00100100' ;BRGH=1, TXEN=1
MOVWF TXSTA
BCF STATUS,RP0 ;Bank0
BCF STATUS,RP1
MOVLW b'10010000'
MOVWF RCSTA
BSF PORTB,0

MOVLW '1'
MOVWF TXREG
MOVLW '6'
MOVWF TXREG
MOVLW 'F'
MOVWF TXREG
MOVLW '7'
MOVWF TXREG
MOVLW '8'
MOVWF TXREG
MOVLW '8'
MOVWF TXREG
MOVLW 0x0D ; CR
MOVWF TXREG
MOVLW 0x0A ; LF
MOVWF TXREG
BSF PORTB,1

END
(#) Hp41C válasza kullers hozzászólására (») Aug 31, 2013 /
 
A TXREG írása után várni kell, amíg a PIR1, TXIF jelzőbitje 1 lesz.
(#) kullers hozzászólása Aug 31, 2013 /
 
Kedves Hp41c,

köszönöm a gyors választ sajnos nem segített, az ajánlásodat illetve közben én is kutakodtam és TXSTA,TRMT bitjét is figyelem a következő képpen:

MOVLW "1"
CALL send
MOVLW "6"
CALL send
MOVLW 'F'
CALL send
MOVLW '7'
CALL send
MOVLW '8'
CALL send
MOVLW '8'
CALL send
MOVLW 0x0D ; CR
CALL send
MOVLW 0x0A ; LF
CALL send


send
MOVWF TXREG
ism BSF STATUS,RP0
BTFSS TXSTA,TRMT
GOTO ism
BCF STATUS,RP0
ism2 BTFSS PIR1,TXIF
GOTO ism2
RETURN

A 2MHz-es órajel az nem lehet gond? Nkem már nincs több ötletem!
(#) Moderátor hozzászólása kullers hozzászólására (») Aug 31, 2013
 
Ha szépen megkérlek, használnád a kód gombot?
(#) kullers válasza (») Aug 31, 2013 /
 
Kedves vicsys,

bocsi de új vagyok a fórumon! Mi az a kód komb? Ha segítesz, természetesen használom.

üdv
(#) vicsys válasza kullers hozzászólására (») Aug 31, 2013 /
 
A hozzászólás ablakban találod. A kód kijelölése után megnyomod és 2 tag közé illeszti.

[code ] ez itt a kódod [ / code]

Itt olvashatsz még:
http://www.hobbielektronika.hu/help/
A hozzászólás módosítva: Aug 31, 2013
(#) Hp41C válasza kullers hozzászólására (») Aug 31, 2013 /
 
Pedig ezután csak két hibácska maradt benne:
1 - Watchdog kikapcsolása. Illetve a konfiugurációs regiszterek beállítása hiányzik.
2 - Az alábbi két sor nem azt csinálja, amit elgodoltál:
  1. MOVWF b'00100100' ;BRGH=1, TXEN=1
  2. MOVWF TXSTA

Helyesen:
  1. MOVLW b'00100100' ;BRGH=1, TXEN=1
  2. MOVWF TXSTA


Egy jótanács:
Debugger / MpLab Sim kiválasztása. Újrafordítás, Debugger / Setting: Órajel beállítása, UART1 engedélyezése, kimenet ablakba beállítása. És már láthatod is az üzenetedet, ha futtatod (lépésenként hajtod végre) a programod....
A hozzászólás módosítva: Aug 31, 2013
(#) kullers válasza Hp41C hozzászólására (») Aug 31, 2013 /
 
Köszi, az észrevételt!

Valóban elírtam!
A konfigurációs biteket én nem a prg.-ban, hanem MPLAB Configure/Confiurations Bit opcióban állítombe, amit elméletileg fordításkor hozzáad, legalábbis én így tudom.

A debuggert eddig nem ismertem, most kezdek vele ismerkedni, köszi a TIPPET!!!

Ja, módosítottam az elírásomat, de sajnos ez sem segített. Az ism ciklusban elakad és nem lép ki belöle ahol TRMT bitet vizsgálom, hogy 1-e?
Debuggerel lehet vizsgálni egy-egy bit állapotát adott időpillanatban??

  1. send
  2.         MOVWF   TXREG
  3. ism             BSF             STATUS,RP0
  4.                 NOP
  5.                 BTFSS   TXSTA,TRMT
  6.                 GOTO    ism
  7.                 BCF             STATUS,RP0
  8. ism2    NOP
  9.                 BTFSS   PIR1,TXIF
  10.                 GOTO    ism2
  11.                 RETURN
Következő: »»   1134 / 1320
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