Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   577 / 1319
(#) icserny válasza trudnai hozzászólására (») Szept 22, 2009 /
 
Nem is gondoltam, hogy az egész függvényt érdemes volna átvenni (meg minek is 29 jegy?), de a

  1. do {
  2.     *ptr-- = (val % 10) + '0';
  3.     val /= 10;
  4.     --padding;
  5.   } while(val);


ciklust, amire a kérdés vonatkozott, érdemes megnézni benne.
(#) trudnai válasza icserny hozzászólására (») Szept 22, 2009 /
 
Igen, az a lenyeg valoban -- csak gondoltam szolok, hogy nehogy valaki csak ugy bemasolja a fuggvenyt es hasznalja mert lehet rejtett hibat fog bevinni.
(#) icserny válasza trudnai hozzászólására (») Szept 22, 2009 /
 
Idézet:
„nehogy valaki csak ugy bemasolja”

Nem gond, úgysem fordul le! A C18 egyenesen megvész tőle... Pedig meg akartam nézni, hogy mit kezd vele.

Jó munkát!
(#) trudnai válasza icserny hozzászólására (») Szept 22, 2009 /
 
Idézet:
„Pedig meg akartam nézni, hogy mit kezd vele.”


Amugy mikrokontrolleres forditoknal elofordul, hogy un. pseudo stack-et hasznalnak, azaz ha garantalva van a fuggveny nem reentrans es nem rekurziv, akkor a lokalis valtozok szamara nem normal stacket hasznalnak, hanem statikus teruletet. Ezzel lecsokkentik a fuggveny prologjat es epilogjat, valamint nehany mikrovezerloben mint ahogy a 8 bites PIC eseteben nincs rendes stack igy annak megvalositasa csak bonyolult indirekt memoria imzesekkel valusolhatna meg, igy ezt is ki tudjak ezzel a modszerrel optimalizalni es helyette kozvetlen memoria muveleteket tudnak hasznalni.

Emiatt akar mukodhet is a dolog, bar itt megint meg kell jegyezni, hogy ez nem azt jelenti az adott statikus memoria terulet nincs ujra hasznalva egy masik fuggveny altal amelyik nincs fedesben az elozovel. Ha jol emlekszem a C18 nem kepes erre, azonban lehet un. overlay tarolasi osztalyt megadni ami ehhez a modszerhez nagyon hasonlo... HiTech C azonban eleg szepen optimalizal ennek a modszernek koszonhetoen, ami fokent 16F szeriahoz torteno fejleszteseknel latszik meg.
(#) bubu válasza trudnai hozzászólására (») Szept 23, 2009 /
 
Köszi a segítséget!
(#) trudnai válasza bubu hozzászólására (») Szept 23, 2009 /
 
Ne nekem
(#) szilva válasza robing16 hozzászólására (») Szept 23, 2009 /
 
Valami spéci cucchoz lesz ez az IR távirányító, hogy ilyen bonyolultan kezdesz hozzá, vagy esetleg más oka van? Az IR távirányítókban nem szoktak USART-szerű átvitelt használni, elég egyszerű kódolásokat alkalmaznak. A manchester-kódolást sem értem, miért kerül ide.
(#) Hp41C válasza icserny hozzászólására (») Szept 23, 2009 /
 
Szia!

Olvasgatom a Piccolo lapokat...
Megakadt a szemem egy aprócsak hibán, a képen beellipsziseztem...

001.PNG
    
(#) icserny válasza Hp41C hozzászólására (») Szept 23, 2009 /
 
Köszönöm az észrevételt, javítani fogom.
(#) bubu válasza icserny hozzászólására (») Szept 23, 2009 /
 
Bocsi,
Elírtam, neked köszi a segítséget
A kétszeri olvasással még bajlódok, mert szerintem elirtam, de jobban néz ki mint az előző verziók!

Még1X köszi a segítséget!
(#) Galdemorph hozzászólása Szept 23, 2009 /
 
Kezdő pices vagyok: adott pic18f4550 és eredeti PICkit2. Szerettem volna megcsinálni az oldalon található bootloaderes témát. Panelt megépítettem PICet (szeritem beégettem) de nem ment. A kapcsolást megépítettem dugós próbapanelen és ott sem ment. Csak arra tudok gondolni hogy nem jól égettem a picet tekintve most égettem először valamit nem jól csináltam és nincs benne a program vagy sz***l. Bevallom sok lépést nem értek és eléggé homály...
Tehát a probléma: nem értem hogyan kell égetni!!Lehet túl triviális de akárhol kerestem konkrétan step by step tutorialt nem nagyon leltem ergo ez a végső megoldásom (mármint itt kérdezni).
Tehát a PICkit2 kivezetéseit a megfelelő lábakra kötöm.
Kérdés: azt olvastam valahol hogy a PICkithez nem kell külső tápot csatlakoztatni az égetéshez mert megoldja maga. De valahol meg azt írják, hogy vppre 12,5v kell, de ennyit nem ad ki a pickit USBről( vagymégis?)Tehát akkor melyik lábra mekkora feszt tegyek??

Kérdés2: Nem értem mikor kell restelni a picet és egyáltalán mire jó az? kicsit bekavar hogy égetésnél kell-e vagy nem, vagy hogy is van ez?

Nagyon örömmel vanném ha valaki adna egy jó linket ilyen "ezután ezt nyomd" tipusú tutorialt vagy leírná mire figyeljek és mi után mit nyomjak.
Ja MPlab 8.36 ot vagy PICkit 2 v2.61 est mint égető softwaret.
(#) trudnai válasza Galdemorph hozzászólására (») Szept 23, 2009 / 1
 
Szia,

A "szerintem beegettem" azt sajnos nehez ertelmezni Eloszor is milyen szoftverrel kiserleteztel? MPLAB vagy a PICkit2 sajat szoftvere? Masodszor mi az uzenet mikor egetsz?

Az "oldalon talalhato bootloaderes tema" az mi pntosan? Milyen oldalon?

Amugy a PICkit2-hoz valoban nem kell kulso tap. Az USB 5V-jabol allitja elo egy step-up dc-dc konverter segitsegevel a megfelelo programozo feszultseget (Vpp). A tapfeszultseget (Vdd) is o allitja elo egy step-down konverter segitsegevel, de ezt akar kulsoleg is adhatjuk -- pl. ha az aramkorunk tul sok aramot szeretne levenni a PICkit2-rol, merthogy nehany tiz mA-t kepes csak leadni a PICkit2 es akar mar egy db LED is kepes 20mA-t felvenni... Szoval a Vdd-t kivulrol is adhatod akar, azt a PICkit2 eszre fogja venni, hogy van kulso taplalas es automatikusan atvalt.

A tutorial amugy ott van a PICkit2 szoftvereben, Help/PICkit2 User's Guide ...
(#) Bassmester hozzászólása Szept 24, 2009 /
 
Sziasztok!
Egy 16F88-at szeretnék programozni. Ezt
a soros porti égetőt csináltam hozzá. Az IC prog sajnos nem viszi, mindig lefagy.Próbáltam a PIC Pgm-et is, ez olvassa, törli, de a programot nem írja bele, "Verify errors occured!" felíratú piros ablakot ad
Szeretnék segítséget kérni, hogy mivel, hogyan próbálkozzak.
(#) Hp41C válasza Bassmester hozzászólására (») Szept 24, 2009 /
 
Szia!

A probléma abból adódik, hogy a soros portra illesztett programozók kihasználták a port nem specifikált tulajdonságát (feszültség értékeket, és terhelhetőségeket). A pc korszakváltozása miatt az mostani szériákon már nem azokat az illesztő áramköröket alkalmazzák, amiket régebben, így a feszültség értékek, terhelhetőségük általában alacsonyabbak. Főleg a 16F szériánál jelentenek gondot...
Próbáld meg egy régebbi gépen, másik soros porton (bővítőkártya...). Ha van párhuzamos port a gépen, az arra illeszkedő és 74ls06/07 illesztő fokozatot is tartalmazó programozó megoldás lehet.
Ha sikerülne 18F2550 -et programozni, akkor egy PicKit2 klón építése lenne a legjobb...

Szia
(#) trudnai válasza Hp41C hozzászólására (») Szept 24, 2009 /
 
Idézet:
„A probléma abból adódik, hogy a soros portra illesztett programozók kihasználták a port nem specifikált tulajdonságát (feszültség értékeket, és terhelhetőségeket).”


Bocsanat a bele kotnyeleskedesert, csak a pontositas kedveert: Valojaban specifikalva van, ez az RS-232, de ahogy a neve is mondja Recommended Standard, azaz csak ajanlas, nem kovetelmeny annak betartasa.
(#) watt válasza Bassmester hozzászólására (») Szept 24, 2009 /
 
(#) Galdemorph válasza trudnai hozzászólására (») Szept 24, 2009 /
 
Akkor nekifutok megint és megpróbálok érthetőbb lenni.
Szóval ezt szándékoztam megszerkeszteni:Bootloader cikk

MPlabban ahogy kell mindent meg is csináltam, lefordult, hex file megvan. Aztán ugyebár ezt bele kell égetni a PICbe ugyan ugy mint bármely mást. Na igen itt kezdődött a probléma nekem még nem volt más se, mert ez az első égetésem!
Bekötöttem a pickitet (1.kép)
Pickit2 program elindít, a legördülőből kiválasztom a 18f4550-t (2.kép).
Beimportálom bootloader hexfilet.
Namost a bekarikázott résznél kell-e valamit beállítanom elötte, vagy jo-e igy ahogy van (nincs külsö táp)(3.kép), illetve nem értem ezt a reset dolgot sem, hogy mikor kell és mit csinál (4.kép)
Na mindegy hagytam mindent igy ahogy van és Click a write-ra. (5.kép) Beégette, remek. Piccet betettem a bootloaderes panelba, gombot megfelelő sorrendben lenyomom de a windows meg sem szólal. Ezért gondoltam lehet nem jól építettem a meg. Dugós panelen ujra összerakom, ott sem működik. Ezért gondoltam, hogy valamit a programozásnál rontottam el mert ott több ponton is kérdőjel van.

Kepek.rar
    
(#) Bassmester válasza watt hozzászólására (») Szept 24, 2009 /
 
Köszi a válaszokat...kezdem kapizsgálni
(#) icserny válasza Galdemorph hozzászólására (») Szept 24, 2009 / 1
 
A PIC18F4550-nek két tápfeszbemenete (VDD) és két földvezetéke (VSS) van. MINDEGYIKET be kell kötni, s a Vdd-k és a legközelebbi Vss közé 100 nF-os kerámiakondenzátort (ún. low ESR) kell kötni. Van ezenkívül egy Vusb láb is, amire alaphelyzetben 470nF-os szűrőkondenzátort kell kötni (másik vége Vss-re menjen). Ezek nélkül ne is reménykedj értelmes működésben.

Az MCLR (RESET) láb a mikrovezérlő újraindítására (magasfeszültségű programozásnál pedig a Vpp bevitelére, illetve a programozói üzemmódba történő kapcsolásra való). Ha az MCRL láb le van húzva Vss-re (Hold in Reset), akkor a PIC leáll... Normál működéshez az MCLR lábat egy 10 kOhm-os ellenállással Vdd-re (5 V) kell felhúzni.

Amíg nincs gyakorlatod a programozással, használd a Microchip oldaláról letölthető bootloadert és demóprogramokat! Ha magad fordítod az MPLAB-ban, akkor van rá esély, hogy elkuruzsolod a Config biteket...

Innen töltsd le Microchip Application Libraries v2009-08-31.zip csomagot, s keresd ki belőle a PIC18F4550 mikrovezérlőhöz való (FSUSB demókártya néven hivatkoznak rá) programokat. Minden előre le is van fordítva, így előbb az égetéssel barátkozz meg!

Bootloader több is van. Én a HID bootloader-t javaslom, ahhoz nem kell meghajtót telpíteni a Windows-ba. Arra ügyelj, hogy a demókból is a HID bootloader-hez való változatokat töltsd majd be, s a letöltéshez a HID bootloader-hez való alkalmazást használd.

Ja, és szívesen látlak a PICCOLO projekt honlapján! (http://esca.atomki.hu/PIC18)
(#) Galdemorph válasza icserny hozzászólására (») Szept 24, 2009 /
 
Nagyon köszi a részletes választ és a linkeket, estére ki is próbálom.
(#) fejesg hozzászólása Szept 24, 2009 /
 
Üdv Mindenki!

Nagyon megtetszett a 16F1936, mert "botkézzel" is forrasztható SO-28W tokban van, rendelkezik AD átalakítókkal és teljes hidas PWM generátorral.

Miután a 16F684-gyel már sikerült irányt váltani és sebességet szabályozni, megpróbáltam átszabni a rutint 16F1936-ra - eddig sikertelenül.

Mivel itt 5 db PWM van (de csak az 1-es tud teljes hidat, nekem nem is kell több),

banksel CCPTMRS0
movlw b'10101000'
movwf CCPTMRS0
banksel CCPTMRS1
movlw b'00000010'
movwf CCPTMRS1

az 1-es PWM-hez rendeltem TMR2-t, a többihez a TMR4-et (úgysem használom).

Elvileg a CCP1CON regisztert használom, PR2-t és TMR2-t.

Annyi módosulást láttam a T2CON-ban, hogy az 1:16-os prescaler-t nem x0000 hanem x1111 bitekkel kell beállítani, T2ON és OFF ugyanúgy a 2-es bit.

DE NEM MEGY A PWM RENDESEN (bár a motort még nem kötöttem rá, csak P1A-ra és P1C-re raktam LED-et, amelyek iránytól függően állnak be 1-re), NEM TUDOK IRÁNYT VÁLTANI!

Tud valaki segíteni? Mellékeltem a minta asm-et és a kapcsolásit.

fejesg
(#) herzsolt hozzászólása Szept 24, 2009 /
 
Mivel lehet ma helyettesíteni a PIC16C745-t, mert F-es ben nincs a Chipcad-en
(#) Hp41C válasza herzsolt hozzászólására (») Szept 24, 2009 /
 
Szia!

A gyártó nem is állított elő F-es típust, csak a 16C745/765 típusokat. A 16F szériában nincs helyettesítője. A 18F2550 rendelkezik USB interface-vel, de a 745-re megírt program nem futtatható rajta módosítás nélkül....

Szia
(#) herzsolt válasza Hp41C hozzászólására (») Szept 24, 2009 /
 
Értem akkor a c tipusút lehet valahol kapni, mert Chipcadnél az sincs.
(#) icserny válasza herzsolt hozzászólására (») Szept 24, 2009 /
 
Kifutó típus, szerencse dolga, hogy hol kapsz. A Farnell-nek jelenleg van -I/SP és -I/SO változaban. Állítólag a ret.hu-n keresztül is lehet tőlük rendelni.
(#) trudnai válasza icserny hozzászólására (») Szept 24, 2009 /
 
Szerintem nemcsak kifuto tipus, de mintha mar nem is kinalnak - most gyorsan raneztem a Microchip oldalan, sem a product tree-ben, sem pedig a MAPS-ban nem latszik. Ha rakeresek meg azert meg lehet talalni, sot rendelni is lehet de ekkor meg a kovetkezo uzenet olvashato:

Idézet:
„PIC16C745/65 Datasheet (4/1/2003)
Please consider this device: PIC18F4450.”


(Amugy az, hogy meg azert valamilyen modon be lehet szerezni az nagyon jo a Microchip-ben, tehat ha van egy regi eszkozunk akkor meg azert van lehetoseg utan gyartani, ill javitasok, termek tamogatas miatt utan rendelni, de uj eszkozoket azert mar ne tervezzunk ezzel...)
(#) gydanee hozzászólása Szept 25, 2009 /
 
Sziasztok!

Volna egy PIC-es áramköröm, (vagyis 2) és a panel maratása előtt szeretném ha átnézné valaki nálam tapasztaltabb is.
Elsősorban az érdekelne hogy nem nehezítem-e meg a már számomra így is elég nehéz programozás részét a projectnek, ha ezekkel a lábkiosztásokkal dolgozok. Gondolok én itt az LCD-re, a vevő oldalon, és az RF modulokra.
Itt találhatóak a rajzok: Bővebben: Link

Üdv
(#) trudnai válasza gydanee hozzászólására (») Szept 25, 2009 / 1
 
Szia,

Hat igen, az PGC/PGD labakat le kellene valasztani a kulso aramkortol -- valoszinuleg egy-egy ellenallas is megteszi, de ha van ra lehetoseged ne tegyel inkabb ezekre a labakra aramkort. Ha a kulso aramkor tulsagosan terheli a programozot vagy annak kapacitasa / induktivitasa miatt az adat vonalak nem kepesek ellatni feladatukat, akkor valoban lesz problemad a chip felprogramozasaval, ezert kell a levalasztas...

Amugy az MCLR felhuzo ellenallashoz az 1k tul kicsi erteku, oda 10k-20k korul kellene.
(#) gydanee válasza trudnai hozzászólására (») Szept 25, 2009 /
 
Hali!

A hibát javítottam, köszi az észrevételt!
(#) trudnai válasza gydanee hozzászólására (») Szept 25, 2009 /
 
Amugy az LCD bekoteset nem tunteted fel ezen a rajzon, igy nem tudom, hogy melyik lab micsoda, de azt erdemes megtenni, hogy az adatbitek a port also vagy felso 4 bitjen vannak (4 bites meghajtas eseten). Jelen esetben az also a celszeru -- a vezetekek egymas mellettisegebol itelve ez most jelenleg nem igy van.

Ja es a vezeteket a rajzon ne vezesd mar keresztul az alkatreszeken, mert nehez kovetni, meg csunyacska is
Következő: »»   577 / 1319
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