pwm a interrupt

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
mmlike
Příspěvky: 15
Registrován: 05 led 2008, 01:00

pwm a interrupt

#1 Příspěvek od mmlike »

je pwm v pic nějak závislé na přerušení??? mám v 12f683 zapnuto pwm, na tmr0 mám přerušení od gpio - měřím délku signálu na gp5 (1-2ms), a do třetice mám přerušení na TMR1 každých 5ms. A teď problém - pwm mi produkuje různě dlouhé signály na výstupu a nevím proč :cry: do pwm sem natvrdo dal určitou hodnotu i když bych ji potřeboval měnit podle délky pulsu na vstupu,ale to jsen zatim zrušil. program je psán v ubasiku.

Uživatelský avatar
Split
Příspěvky: 762
Registrován: 02 pro 2006, 01:00
Bydliště: Komárno

#2 Příspěvek od Split »

a preco hi nepises v asembleri?
Vsetko co sa da pokazit sa raz pokazi.

Uživatelský avatar
nekmil
Příspěvky: 780
Registrován: 06 bře 2005, 01:00
Bydliště: Havířov

#3 Příspěvek od nekmil »

Třeba proto že je assembler mnohem nepřehlednější než vyšší jazyky, zvláště u složitějších konstrukcí. Při představě jak smolím obsluhu MMC/SD karty v assembleru mě poleje studený pot.
Bohužel S pic neporadím, hraju si s AVR :(

Uživatelský avatar
mmlike
Příspěvky: 15
Registrován: 05 led 2008, 01:00

#4 Příspěvek od mmlike »

no Nekmi to napsal správně je to jednodušší a přehlednější. taky ten ubasic toho za tebe hodně nastaví a s mnoha věcmi se nemusíš párat...ale ono je to jedno v čem to je podstata je jestli pwm potřebuje ke svej činnosti přerušení nebo jestli si běhá na pozadí a nemá na to vliv běh programu pokud zrovna v tom okamžiku nechci pwm přenastavit...

Uživatelský avatar
eljaro
Příspěvky: 441
Registrován: 03 pro 2004, 01:00
Bydliště: Krnov
Kontaktovat uživatele:

#5 Příspěvek od eljaro »

zlatý asmbler - to přerušení od PWM a TMR jsou na stejné urovni kdo dřív příde ten jej dříve vyvolá problém je pak když dojdou současně , nutno asi kontrolovak oba příznaky a pustupně je odbavit !

Kdyby jsi psal v ASM musel by sis kouknout do katalogového listu abys věděl co děláš u překladaču jen spoléháš na něčí schopnost napsat dokonalý překladač a na logigu výkladu katalogových instrukcí programárem !! ten lidský faktor chápu tvé duvody ale pak se nediv asi jediné řešení je něco vygenerovat a něco vytvořit sám a pak skompletovat , nebo nejlépe dva procesory jeden na HW práci a jeden na ten soft

ps : sory za chyby v textu

Uživatelský avatar
Atlan
Příspěvky: 4499
Registrován: 10 kvě 2004, 02:00
Bydliště: Košice

#6 Příspěvek od Atlan »

Ved o to ide Asm ked to nejde je problem medzi stolickou a klavesnicou na 99,9% A ked to nejde v nejakom vysom jazyku tak mas problemi 2 a hladaj kde je chyba :D

Uživatelský avatar
jankop
Příspěvky: 679
Registrován: 04 dub 2007, 02:00
Kontaktovat uživatele:

#7 Příspěvek od jankop »

Zapnutí CCP modulu v módu PWM nemá obecně nic společného s přerušením. Pokud povolíš TMR2IE, tak se pak nediv.
V assembleru bych ti poradil.

Uživatelský avatar
mmlike
Příspěvky: 15
Registrován: 05 led 2008, 01:00

#8 Příspěvek od mmlike »

hmmm tak se moc omlouvám nejlíp to vystihl Atlan chyba byla mezi klávesnicí a židlí. v ubysic je příkaz change_duty a já si to špatně přečetl (angličtina mi tak moc nejde). nastavuje se v rozsahu 0-255 já dával až do 1024. tak se moc omlouvám a děkuji všem

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“