Megválaszolatlan hozzászólások | Aktív témák Pontos idő: szer. jún. 05, 2024 22:05



Hozzászólás a témához  [ 6770 hozzászólás ]  Oldal Előző  1 ... 41, 42, 43, 44, 45, 46, 47 ... 136  Következő
PIC kérdések 
Szerző Üzenet
vas-tag

Csatlakozott: csüt. márc. 08, 2007 19:51
Hozzászólások: 6
Hozzászólás 
Tisztelt Fórumozók!

Elnézést, hogyha rossz topicba írom a nyűgöm, elösszőr vagyok itt. Olyan problémával fordulnék felétek, hogy egy CCS C-ben megírt kód nem igazán azt csinálja amit kéne.
Nemtudom, hogy itt használt-e valaki C compilert. A jelenség az, hogy RS232-őn próbálok kommunikálni a processzorral. Szkóppal végigmértem, a jelszintek megvannak, a bitek is átmásznak rendesen. Egy MPLAB-ICD debugger panelem van, amibe egy 16F877-es processzort raktam. Egy MAX232-es chipet is felraktam rá, ami ugye a soros kommunikációhoz kellett.

A probléma a következő. A processzorról, az átküldött karakter, vagy szöveg, megjelenik a PC-n. De ha PCről próbálok küldeni egy karaktert, akkor azt nem akarja vissza "echo"-zni a processzor.
A PC-n lévő C kód reményeim szerint jó, mert egy másik PCbe bekötve, egy RS232 sniffer programmal nézve megjelent a küldött karakter.
Ha a PCről kiküldök egy karaktert, akkor a megszakítás rész elindul, a LED kigyullad a próba panelen. Csak épp nem küldi vissza az elküldött karaktert. És amíg nincs kiküldve az a bit, addig meg a printf függvény rendesen átküldi az üzenetet.

Már végignyálaztam az egész CCS fórumot, találtam is ilyen hibát, de sehol se láttam megoldást. Nagy segítség lenne ha valaki tudna egy kis útmutatást adni.

Mellékelem a kódot, amit futtatok a PIC-ben:
Kód:
#include <16F877.h>
#fuses hs,NOWDT,NOPROTECT,NOLVP
#use delay(clock=19660800)
#use rs232(baud=9600, xmit=pin_C6, rcv=pin_C7, ERRORS)

#int_rda
void rda_isr(void)
{

char x;
x=getc();
delay_ms(2000);

putc(x);

output_high(pin_c0);

}   

//========================
void main()
{

enable_interrupts(INT_RDA);
enable_interrupts(GLOBAL);

while(1)
{
   printf("Test! \n");
   delay_ms(1000);
}

}


csüt. márc. 08, 2007 20:04
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. jan. 03, 2007 15:26
Hozzászólások: 30
Hozzászólás 
Kicsit komolyabbra véve....

sajnos mostanában nem volt időm foglalkozni a progival, de tény, hogy szimulációig nem jutottam, mert az üzenetnél elakadtam és meg akartam oldani a problémát....

Íme az ominózus sor:

Message(302) Register in operand not in bank 0. Ensure that bank bits are correct.

amennyiben ez csak egy figyelmeztetés arra nézve, hogy az általam meghívott register eléréséhez bankot kell váltanom és a progi nem nézi, hogy megtettem-e csak azt, hogy kell. akkor minden világos!!!!!

Remélem, hogy így van.

akkor ezek szerint minden rendben.

Jöhet a szimuláció.

Ha valaki elmagyarázza végre, hogy mi az..... :))))

Köszi a segítséget!!

bocsi, hogy csak ritkán vagyok, de mással kell foglalkozzak! :(

Bár szerintem a többség itt nem olyan szomorú most... :))))


hétf. márc. 05, 2007 17:51
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. jan. 03, 2007 15:26
Hozzászólások: 30
Hozzászólás 
Sziasztok!

Már csak egy kérdésem van!!!

Mi az a szimulációóóóó????


:))))

:PPPPP


hétf. márc. 05, 2007 17:47
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás 
watt írta:
persze lehetne oda 6-ot is írni, és működne, gondolom...
Elég jó esélye van, mivel a GPIO valójában 6-ot jelent, és az MPLAB is kicseréli 6-ra, mielőtt hex-et csinál belőle.


szomb. márc. 03, 2007 11:02
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Látszik, hogy nem programoztam még 12F-et ! :) :oops:
Megjegyzem ebből sem látszik(mármint a 6-ból), hogy a 6 = GPIO, persze lehetne oda 6-ot is írni, és működne, gondolom...


szomb. márc. 03, 2007 10:54
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás 
watt írta:
Ebből kellett volna kitalálni?
Nem. A végén ha megnézed a TRIS utasítást az "Instruction Set Summary" részben, akkor ott áll, hogy "TRIS f", ahol az f értéke 6 vagy 7. Na innen lehet kitalálni, hogy miért 6 vagy 7 (12F508 és 509-nél csak 6, tehát GPIO). :D


szomb. márc. 03, 2007 10:47
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Idézet:
Pedig GOTO Adatlap.

Gondolod nem néztem? De biztosan vaksi vagyok ezért nem találtam! :)

Ebből kellett volna kitalálni?
Idézet:
The Output Driver Control register is loaded with the
contents of the W register by executing the TRIS f
instruction.

Az "f" ebben az esetben a GPIO, ha jól sejtem. Még jó, hogy egyszerűen fogalmaznak, nehogy megértse az, aki gyengébb angolból! :)


szomb. márc. 03, 2007 10:36
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás 
watt írta:
TRIS GPIO
Agyam eldobom! Én is köszönöm, mert nem tudom mikorra jöttem volna rá! :)
Pedig GOTO :arrow: Adatlap. Gyanús volt, hogy a TRISGPIO regiszternek nincs memóriacíme, így nem írható bele semmi movwf utasítással. Tehát csak meg kellett találni a mikéntet. Hasonlóképpen írható az OPTION regiszter is. Ezek csak írható regiszterek, nem lehet a tartalmukat olvasni.


szomb. márc. 03, 2007 0:41
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
TRIS GPIO
Agyam eldobom! Én is köszönöm, mert nem tudom mikorra jöttem volna rá! :)


pén. márc. 02, 2007 21:58
Profil Privát üzenet küldése Honlap
ezüst tag
Avatar

Csatlakozott: vas. feb. 04, 2007 18:42
Hozzászólások: 52
Tartózkodási hely: Szombathely
Hozzászólás 
Sziasztok!

Potyo!

Hálám örökké üldözni fog!

Sikerült beforgatni, a szimulátor szerint minden ok! :lol:

Mégegyszer köszi mindenkinek!!! :lol: :lol: :lol:

Szidom


pén. márc. 02, 2007 20:30
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás 
Elmeséljem, hogy ahhoz, hogy a tris biteket pl. 0b00011001 állapotba hozzuk, ahhoz a következő utasításokat kell kiadni :?:

Kód:
MOVLW   b'00011001'
TRIS   GPIO


pén. márc. 02, 2007 20:18
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Most el kell mennem, eddig nem jöttem rá, pedig a speciális regiszterek között ott van a TRISIO, nézd meg a View menüben. 22 előtt nem leszek itthon...


pén. márc. 02, 2007 19:48
Profil Privát üzenet küldése Honlap
ezüst tag
Avatar

Csatlakozott: vas. feb. 04, 2007 18:42
Hozzászólások: 52
Tartózkodási hely: Szombathely
Hozzászólás 
Ezer hála és köszönet!!!


pén. márc. 02, 2007 19:43
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Nem, de kipróbáltam és a TRIS hatására nem töltötte fel a TRISIO-t. Nem tudom hogyan kéne hívni hogy az MPLAB megegye és a megfelelő címre tegye a beállítást. Próbálom megkeresni, de még a lst fájlban sincs TRIS-re utaló címke.


pén. márc. 02, 2007 19:38
Profil Privát üzenet küldése Honlap
ezüst tag
Avatar

Csatlakozott: vas. feb. 04, 2007 18:42
Hozzászólások: 52
Tartózkodási hely: Szombathely
Hozzászólás 
Szia Watt!

Így gondoltad?

LIST P=12f509
#INCLUDE "P12F509.INC"
__CONFIG _CP_OFF&_WDT_OFF&_IntRC_OSC
CBLOCK 0x0C
T1
T2
ENDC

ORG 0

MOVLW B'00010111'

VISSZA: MOVLW B'000010'
MOVWF GPIO
CALL DELAY
MOVLW B'000010'
MOVWF GPIO
CALL DELAY
MOVLW B'000100'
MOVWF GPIO
CALL DELAY
MOVLW B'010000'
MOVWF GPIO
CALL DELAY
MOVLW B'100000'
MOVWF GPIO
CALL DELAY
GOTO VISSZA

DELAY: MOVLW d'2'
MOVWF T1
DEL: MOVLW d'5'
MOVWF T2
DEL1: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DECFSZ T2,f
GOTO DEL1
DECFSZ T1,f
GOTO DEL
RETURN
END

Így nem ír hibát, de akkor mikor kell a trisgpio -t használni?


Szidom


pén. márc. 02, 2007 19:34
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Próbáld meg így beírni:
Kód:
       TRIS   B'00001000'   


pén. márc. 02, 2007 19:11
Profil Privát üzenet küldése Honlap
ezüst tag
Avatar

Csatlakozott: vas. feb. 04, 2007 18:42
Hozzászólások: 52
Tartózkodási hely: Szombathely
Hozzászólás 
Sziasztok!

Ezer hála és köszönet mindenkinek!

Módosítottam a progit, de az mpasm -nek most sem tetszik!

Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe" /q /p12F509 "asm2.asm" /l"asm2.lst" /e"asm2.err"
Error[113] H:\ASM2.ASM 13 : Symbol not previously defined (TRISGPIO)
Warning[227] H:\ASM2.ASM 47 : Substituting RETLW 0 for RETURN pseudo-op
Halting build on first failure as requested.
BUILD FAILED: Fri Mar 02 16:50:34 2007


Nem értem mi a baja a TRISGPIO -val.


pén. márc. 02, 2007 16:58
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Nincs. Itt a 0-ás bank 32bájt hosszú(0-1F), és ennek az első felében van néhány regiszter, köztük a GPORT-is, a TRIS-is és a változókból is csak kettő van a 1C-n és 1D-n, tehát minden a 0. bankban van ennél a programnál.


pén. márc. 02, 2007 12:18
Profil Privát üzenet küldése Honlap
arany tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 228
Hozzászólás 
Szia watt,

Itt nincs külön bankban a TRIS és a PORT regiszter?

atta


pén. márc. 02, 2007 10:42
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Idézet:
Kód:
START   BSF      STATUS,C   ;BANK1

Ezt nem értem miért írtad, sok vizet nem zavar, de az biztos, hogy nem a BANK1-et választja ki, amire amúgy nincs szükség, mert minden regiszter amit használsz a programban a BANK0-ban van.
Esetleg egy CLRF FSR szóba jöhet, alap induláshoz, már csak azért is, mert az adatlap Reset utáni alapállapotnak a 6., 5. FSR bankváltó biteket b'10' állapotnak írja, ami a BANK1-et választaná ki.
szerk: Most olvasom, hogy a 6. bit nem használatos, mindig 1. Csak az 5. bit aktív, amivel ki lehet választani az a két bankot, tehát a reset állapot a 0-s bankot választja ki, ami rendben van. Persze az FSR törlése nem árthat!


A másik baj ez:
Idézet:
Kód:
      MOVLW   B'001111'
      MOVWF   TRISGPIO

Itt azokat a lábakat, amiket utána a programban használsz, mind bemenetnek konfigoltad. 0= Out, 1=In, még beszédes is a jel! :)

Itt még gond lehet az is, hogy a GP3 láb csak bemenet lehet, ezért másikat kell választanod a 4. LED-nek.

Egyelőre ennyi, ha még mindig nem megy, akkor keresgélek még, de elvileg mennie kéne.


pén. márc. 02, 2007 6:17
Profil Privát üzenet küldése Honlap
arany tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 228
Hozzászólás 
Kód:
 ORG 0
START BSF STATUS,C ;BANK1
MOVLW B'001111'
MOVWF TRISGPIO


Ide kell egy bankváltás (szerintem)

Kód:
VISSZA: MOVLW B'000001'
MOVWF GPIO
CALL DELAY
MOVLW B'000010'
MOVWF GPIO
....................


csüt. márc. 01, 2007 23:23
Profil Privát üzenet küldése
ezüst tag
Avatar

Csatlakozott: vas. feb. 04, 2007 18:42
Hozzászólások: 52
Tartózkodási hely: Szombathely
Hozzászólás 
Sziasztok!

Watt!

Köszönöm az infót próbálok keresni valami olvasnivalót, mert egyenlőre nem megy a dolog.
Próbáltam saját progit írni ami a belső oscillátot használja, és a kimeneteken ledeket villogtat, de nem sikerült. Tudom hogy hülye vagyok de nem értem miért nem sikerül a fordítás.

Ha nem gond feldobom a félkész progit, ha valakinek van ideje kérem segítsen! Hálám örökké üldözni fogja!

Kód:
      LIST P=12f509
       #INCLUDE "P12F509.INC"
       __CONFIG _CP_OFF&_WDT_OFF&_IntRC_OSC
      CBLOCK   0x0C
      T1
      T2
      ENDC

      ORG   0
START   BSF      STATUS,C   ;BANK1
      MOVLW   B'001111'
      MOVWF   TRISGPIO
VISSZA:   MOVLW   B'000001'
      MOVWF   GPIO
      CALL   DELAY
      MOVLW   B'000010'
      MOVWF   GPIO
      CALL   DELAY
      MOVLW   B'000100'
      MOVWF   GPIO
      CALL   DELAY
      MOVLW   B'010000'
      MOVWF   GPIO
      CALL   DELAY
      MOVLW   B'100000'
      MOVWF   GPIO
      CALL   DELAY
      GOTO    VISSZA

DELAY:   MOVLW   d'150'
      MOVWF   T1
DEL:   MOVLW   d'255'
      MOVWF   T2   
DEL1:   NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      DECFSZ   T2,f
      GOTO   DEL1
      DECFSZ   T1,f
      GOTO   DEL
      RETURN
      END


Lehet hogy az egész baromság?

Köszi


csüt. márc. 01, 2007 20:56
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
ditax
A legtöbb esetben az szokott gond lenni, hogy a PIC-ben nem állítasz be minden perifériát úgy, hogy az ne zavarjon be. Ilyenek a komparátorok, A/D-k, párhuzamos port kezelő. Valamint a megszakítások letiltása sem egyértelmű, ha nem teszed meg a program futtatása előtt. Érdemes egy tiszta lapot készíteni, és utána megírni a fő rutinokat. 16F-eknél befigyel még a bankok kérdése a RAM-nál, amit ha nem jól kezelsz gondot okozhat.
írdj le egy részletet, mi megy szimulűtor alatt ami nem megy a PIC-ben. használd a
Kód:
CODE gombot


csüt. márc. 01, 2007 15:51
Profil Privát üzenet küldése Honlap
gyémánt tag

Csatlakozott: pén. jan. 28, 2005 20:39
Hozzászólások: 3683
Tartózkodási hely: Bp
Hozzászólás 
A leggyorsabb A-D konverterek párhuzamosak,minden kvantált értékre egy külön komparátor van.
Ezt a "felezgetős" eljárást szukcesszív aproximációnak hívják,tulajdonképpen lépcsős közelítés semmi más.
Igazából egyébként ennek a két átalakításnak van ma egyedül "érteme",a többi nyugodtan "muzeálisnak" tekinthető.
(ezek általában kondenzátorra,VCO-ra,idő vagy frekvenciamérésre épültek)


csüt. márc. 01, 2007 14:56
Profil Privát üzenet küldése
arany tag

Csatlakozott: kedd nov. 30, 2004 20:13
Hozzászólások: 269
Hozzászólás 
WATT, MotoHacker köszi a választ, ezt a megoldást kerestem. Ezt használják gyors A/D convertereknél is, nem?

Egyébként nyugodtan akár növekvő sorrendbe is rendezhetőek az állandók.
Kösz!


csüt. márc. 01, 2007 14:45
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: kedd aug. 01, 2006 6:27
Hozzászólások: 39
Tartózkodási hely: BUDAPEST
Hozzászólás 
WATT köszi
DE
a személyesre nem Rád gondoltam, le írnám hogy más is tanuljon belőle de tudod itt amikor csak levelez az emberfia ....de ezek olyan bonyolult dolgok, hogy bele fáradtam az ön tanításba.

Azt meg komolyan gondoltam, ha valaki személyesen .... meg is "jutalmaznám"
egyébként: olyan alapvető dolgoknál akadtam el (sok szünet után), hogy, pl. a BTFSC...a szimulátorban meg szépen át ugorja mintha amit figyel nem is lenne ott. Szóval ilyenek, meg hasonlóak bosszantanak manapság.
Ha ennél is e1xűbbet írok, szekszuál elindulni, természetesen a szimulátoron gyönyörűen megy, pl. csökkentem az x rekeszt és a csökkentet értéket mindig kiratom 1 7szegmensesre, a valóságban....
Na kb röviden ennyiről lenne szó.

üdv KK


csüt. márc. 01, 2007 14:22
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
MH
Idézet:
Dehogyis:D ..egy számsorozat mindig növekvő sorrendbe tehető.
Igazad van. Erre az indexelésre nem gondoltam.


ditax
Nem néztem mostanában a ládámat, de személyesen nem hiszem, hogy tudok segíteni, csak virtuálisan.
Szerintem érdemes lenne ide írnod a kérdésedet, mert sokan örülnének neki, ha valaki jókat tudna kérdezni!


csüt. márc. 01, 2007 14:05
Profil Privát üzenet küldése Honlap
ezüst tag

Csatlakozott: kedd aug. 01, 2006 6:27
Hozzászólások: 39
Tartózkodási hely: BUDAPEST
Hozzászólás WAT-nak, és mindenkinek
Sziasztok.

Wat, nem kaptál emailt?

Kesresek valakit aki SZEMÉLYESEN tudna segíteni PIC-ben

Köszi előre is
KK


csüt. márc. 01, 2007 13:48
Profil Privát üzenet küldése
gyémánt tag

Csatlakozott: pén. jan. 28, 2005 20:39
Hozzászólások: 3683
Tartózkodási hely: Bp
Hozzászólás 
Dehogyis:D ..egy számsorozat mindig növekvő sorrendbe tehető.
Az eredeti sorrendet egy második indextáblázattal szokták reprodukálni,tehát ha az 5.elem volt valami az eredeti ("kaotikus"-más szepont szerint rendezett) sorban,ami most az első,akkor az indextáblázatunk első értéke 5,és így tovább.
Ez egy plusz indexelt olvasás,és 256 memóriahely,ami "kibogozza" a sorbarendezett táblázatot.
A sorbarendezésnek azért van értelmemert így gyorsan megvizsgálható,hogy a közéspő értéknél nagyobb-e...ha igen,újabb vizsgálat arra,hogy annak a fél sorozatnak a középső értékével mi van..és így tovább...egészen a pontos(leghasonlóbb) értékek megkapásáig,ez 256elem esetén pont 8 darab összehasonlítás,meg az indexelt olvasás ami az eredeti helyet megadja...ha a két érték indexe kell(hisz tök eltérő helyen is lehettek) ami a számot közelíti,akkor két olvasás az indextáblából.
Mellesleg a különbség sem érdektelen,legfelejbb másodlagos most.
Létezik olyan matematikai eljárás ami épphogy értékek különbségeire alapszik(pl ez egyfajta tömörítés is).
Könnyen lehet,hogy az algoritmus itt is felgyorsítható azzal,hogy nem a számokkal,hanem különbségekkel dolgozunk(tulajdonképpen ez kicsit olyan,mintha integrálnánk a függvényt)
...ehhez én már nem vagyok elég okos,egy prog.mat.-os biztos találna még egyszerűbb és elegánsabb módszert.


csüt. márc. 01, 2007 13:18
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Idézet:
Adott egy 13 bites változó (16 biten tárolva), és 256 db. szintén 13 bites állandó.
Hogyan tudom eldönteni, hogy a változóm, melyik állandóhoz esik a legközelebb, (vagy melyik álladó van a sorban alatta v. fölötte)?

Össze kell hasonlítani őket! :)

Idézet:
Két egymás melletti állandó között a legnagyobb különbség D'78'
Ez nem érdekes.

Idézet:
Nincs idő (rosz esetben) 40 16 bites öszeadásra + 256 db 16 bites öszehasonlításra, és nincs szabad 8kbyte memória (táblázatból kikereséshez)

Ha az állandók növekvő sorrendben vannak, akkor közelítéses módszerrel az összehasonlítások számát jelentősen le lehet csökkenteni. Ha az állandók nem rendezhetők sorba, akkor sajnos 256 összehasonlítás marad. De mi lehet az, amit ilyen körmönfont módon kell megoldani? Ja és mihez kéne 8k memória?


csüt. márc. 01, 2007 6:00
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Idézet:
Létezik olyan progi amivel a pic-böl letöltött hex-et vissza tudom fejteni asm-be?

Igen. MPLAB. A program memória ablakban, hexa nézetben az egér jobb gombjával be lehet inportálni hex-et. Ezután átváltani szimbolikus nézetre és ott lesz a kód. DE! Nem lesznek beszédes címkék, csak a címek jelennek meg, valamint nem lesznek megjegyzések.
Nos ezek nélkül nagyon nehéz visszafejteni egy kódot, én még nem tudtam rávenni magam erre sose. De ha muszáj, akkor nem lehetetlen.

Idézet:
kifejtenéd nekem szájba rágós módon ?

Nem tudom mire gondolsz! Megtalálod az adatlapban azokat az elemeket amiket említettem. Beállítod ahogy írtam és a PIC 4MHz-el fog ketyegni, ha bekapcsolod. Javaslom, hogy keress irodalmat, ha ennyi nem elég a megértéshez! Létezik magyar nyelvű adatlap is a 16F84-hez(az alapokhoz jó), nem tudom hol, keress rá a google-val, az sokat segíthet egyébként is.


csüt. márc. 01, 2007 5:50
Profil Privát üzenet küldése Honlap
ezüst tag
Avatar

Csatlakozott: vas. feb. 04, 2007 18:42
Hozzászólások: 52
Tartózkodási hely: Szombathely
Hozzászólás 
Sziasztok még egy kérdés!

Létezik olyan progi amivel a pic-böl letöltött hex-et vissza tudom fejteni asm-be?

Köszi


szer. feb. 28, 2007 21:49
Profil Privát üzenet küldése
arany tag

Csatlakozott: kedd nov. 30, 2004 20:13
Hozzászólások: 269
Hozzászólás 
Sziasztok!

Ismét van egy kis PIC aritmetikai problémám.

Adott egy 13 bites változó (16 biten tárolva), és 256 db. szintén 13 bites állandó.
Hogyan tudom eldönteni, hogy a változóm, melyik állandóhoz esik a legközelebb, (vagy melyik álladó van a sorban alatta v. fölötte)?

Két egymás melletti állandó között a legnagyobb különbség D'78'

Nincs idő (rosz esetben) 40 16 bites öszeadásra + 256 db 16 bites öszehasonlításra, és nincs szabad 8kbyte memória (táblázatból kikereséshez)
Szerintetek megoldható, vagy ezt az utat adjam fel?


szer. feb. 28, 2007 21:46
Profil Privát üzenet küldése
ezüst tag
Avatar

Csatlakozott: vas. feb. 04, 2007 18:42
Hozzászólások: 52
Tartózkodási hely: Szombathely
Hozzászólás 
Köszönöm a villámgyors választ!

De mint írtam kezdő vagyok(nagyon) :oops:
kifejtenéd nekem szájba rágós módon ? :oops:

Előre is köszönöm!


szer. feb. 28, 2007 21:44
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
1MHz-el sehogy, de...
A konfigurációs szóban beállítod a FOSC2, FOSC1, FOSC0 biteket 100-ra (ekkor az RB4-et is tudod majd használni), ezzel bekapcsoltad a 4MHz-es belső oszcit. Ezután olyan progit írsz, ami a 4MHz-et veszi időalapnak nem az 1MHz-et. Ennyi.
Az OSCCAL regiszterrel finomítani tudod a 4MHz-et, ha szükséges, elég finom lépésekben.


szer. feb. 28, 2007 21:08
Profil Privát üzenet küldése Honlap
ezüst tag
Avatar

Csatlakozott: vas. feb. 04, 2007 18:42
Hozzászólások: 52
Tartózkodási hely: Szombathely
Hozzászólás 
Sziasztok!

Bocs ha rossz helyre írok, de kezdő vagyok! :roll:

El tudná nekem valaki érthetően magyarázni hogy lehet 12f509-es pic-en belső órajelet használni nekem tetsző frekin (1 MHZ)?

Előre is köszi!!!

Szidom


szer. feb. 28, 2007 20:33
Profil Privát üzenet küldése
ezüst tag
Avatar

Csatlakozott: hétf. dec. 18, 2006 23:51
Hozzászólások: 38
Tartózkodási hely: Jászárokszállás
Hozzászólás 
Én is ezekre gondoltam(de hátha???.Mivel az elektronika már készen van igy inkább az akut választom.

Köszi


vas. feb. 25, 2007 18:50
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Úgy tudom, hogy csak a 18F-eknél lehet programból a program memóriát módosítani. A 16F-eknél nincs erre utasítás. Neked az alternatíva az akku beszerelése, vagy egy eeprom-os típusra való csere.


szomb. feb. 24, 2007 15:17
Profil Privát üzenet küldése Honlap
ezüst tag
Avatar

Csatlakozott: hétf. dec. 18, 2006 23:51
Hozzászólások: 38
Tartózkodási hely: Jászárokszállás
Hozzászólás 
Sziasztok!

:oops: Lenne egy balga kérdésem.Építek egy 2-digites hőmérőt aminek 2 bemenete van és vezérel 2 relét ami kölönbözö hömérsékletekre kapcsol be és ki,eddig ez megy is ,de a kapcsolási hömérsékletet idönként változtatni kell ,de a pic kiválasztásakor nem figyeltem hogy van e EEPROM a pic-be (PIC16f716) :( . Az a kérdésem hogy lehet e olyat csinálni valami trükkel hogy ha programmembe lehet-e úgy tárolni egy értéket hogy ki-be kapcsolás után ne felejtse el. :idea:
(félek hogy a válasz az hogy NEM)


pén. feb. 23, 2007 21:56
Profil Privát üzenet küldése
gyémánt tag

Csatlakozott: pén. jan. 28, 2005 20:39
Hozzászólások: 3683
Tartózkodási hely: Bp
Hozzászólás 
Általában az álvéletlen is megteszi,nem kell ennyire belebonyolódni.
Fényújságnál szerettem volna egy véletlenszerű "hangyafoci" effektet,de az álvéletlen nagyon jól látszott,nem tünt kaotikusnak.
Erre fogtam és saját karaktertáblázatomat használtam segédeszköznek,egy onnan indexelt értékkel egy másik véletlent előállítva,majd a kettőt XOR-olva már teljesen kaotikusnak tüntek a kapott értékek.
De vannak más módszerek is jó álvéletlen szám előállítására,a mostani PIC-ek szóhosszúságával és matematikai képességeivel ez nem lehet probléma.


csüt. feb. 22, 2007 17:39
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Analog bemenetre rátenni egy zajt, majd beolvasni a pillanatnyi értéket. Valós véletlenszám. Ha a zaj átlagot adna, akkor egy fűrészjelet, amit integrálni lehetne négyszögből, amit a PIC állítana elő....


csüt. feb. 22, 2007 17:05
Profil Privát üzenet küldése Honlap
vas-tag

Csatlakozott: szer. feb. 21, 2007 7:45
Hozzászólások: 7
Hozzászólás 
Sziasztok!

Nincs valakinek ötletete 16F hez véletlenszám generátorra?


csüt. feb. 22, 2007 15:57
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Idézet:
Legközelebb ekkora projecthez 18F-et használok, de ezt mostmár beletákolom ebbe
Ismerős helyzet! :)


csüt. feb. 22, 2007 8:02
Profil Privát üzenet küldése Honlap
vas-tag

Csatlakozott: szer. feb. 21, 2007 7:45
Hozzászólások: 7
Hozzászólás 
Hi!


Idézet:
Mit építesz?


Egy zenekari fényeffekt processzort. Hát igen a progi közel felét a lapozóbitek állítgatása teszi ki... Legközelebb ekkora projecthez 18F-et használok, de ezt mostmár beletákolom ebbe :?

Üdv!


csüt. feb. 22, 2007 6:50
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Idézet:
Elfelejtettem az interrupt rutinban törölni a regiszterek mentése után a pclath reget...

Igen ilyet én is csináltam már. Mert ugyan a megszakításkor eltárolódik a lap is a visszatéréshez, de magától nem állítódik át, mert a megszakítás lekezelése akár ugyanazon(itt a 2.) lapon is lehet, tehát erről nekünk kell gondoskodni a megszakítás lekezelésekor. Én azért nem szeretem a 16F-eket, mert egy idő után az egész progi PAGESEL-ből áll! :)

Egyébként nem jártam messze a valóságtól, csak egy lépéssel később történt meg a PAGESEL hiánya! :)

Idézet:
Köszi a pozitív hozzáállásért!
Igyekszünk! :)
Idézet:
Még úgyis írok...
Mit építesz?


csüt. feb. 22, 2007 5:42
Profil Privát üzenet küldése Honlap
vas-tag

Csatlakozott: szer. feb. 21, 2007 7:45
Hozzászólások: 7
Hozzászólás 
Hali!

Megtaláltam a bugot!!!!! Ó én balgatag jószág! Elfelejtettem az interrupt rutinban törölni a regiszterek mentése után a pclath reget... Köszi a pozitív hozzáállásért! Még úgyis írok...


szer. feb. 21, 2007 22:55
Profil Privát üzenet küldése
arany tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 382
Hozzászólás 
kszabi írta:
HI mindenki
Ha tud valaki olyan szimulácios progirol ami tudja a ds pic-eket
és lehet lcd-t csatlakoztatni ,akkor légyszi irjon.
Elöre is köszi a sgitséget.

Ha proteus szerű programra gondolsz, szerintem olyan nem létezik dspic támogatással.
Üdv!


szer. feb. 21, 2007 22:38
Profil Privát üzenet küldése Honlap
vas-tag

Csatlakozott: szer. feb. 21, 2007 7:45
Hozzászólások: 7
Hozzászólás 
Ez után betettem egy nyomógombtól függő végtelen ciklust. Csak ez van utána. Innen csak az interruptra tug ugrani... talán ott lehet a hiba? A pikantéria a dologban, hogy a lap elején(0x800) meg működik a t1con írása minden probléma nélkül...


szer. feb. 21, 2007 20:53
Profil Privát üzenet küldése
vas-tag

Csatlakozott: szer. feb. 21, 2007 7:45
Hozzászólások: 7
Hozzászólás 
Nem háborodtam fel, csak leírtam, mert biztos félreérthető volt.


szer. feb. 21, 2007 20:49
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Idézet:
Tisztában vagyok vele, hogy mi a különbség az adat és a programmemória között.

Ennek örülök, de nem sok okod van a felháborodásra e miatt:

Idézet:
ha a programmemória második lapján bekapcsolom a Timer1-et

Tehát nem a lapján, hanem a
Idézet:
programmemória 2. lapjáról


Na de túl van tárgyalva.
A kérdéseden még el kell töprengjek, mert ilyennel még nem találkoztam.

Nem lehet, hogy nem ettől száll el, hanem ezután van valami ugró utasítás, ami az előző lapra mutat és nem váltasz előtte lapot?


szer. feb. 21, 2007 19:28
Profil Privát üzenet küldése Honlap
Hozzászólások megjelenítése:  Rendezés  
Hozzászólás a témához   [ 6770 hozzászólás ]  Oldal Előző  1 ... 41, 42, 43, 44, 45, 46, 47 ... 136  Következő

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 30 vendég


Nem nyithatsz témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.

Keresés:
Ugrás:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Magyar fordítás © Magyar phpBB Közösség