Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Az oldalamon találsz egy linkgyűjteményt. Többek között ide is mutat a hobbielektronikán található PIC-es cikkekre, amit pl. Topi is írt. Valamint sok olyan oldalt, ahol részeletesen taglalják a PIC-eket, akár magyarul is.
Hali
Ha jol emlekszem neked is irtam mar (ha nem bocs) a parsices topikban, hogy el kell felejteni, az ilyen jatekokat( jol le is b...sztak, hogy miert szolok bele). Mint tapasztalod a sajat borodon, ezzel nem lehet komolyan programozni. Keves eszkozre irtak meg, inkabb a regi 16Cxx eszkozokre van meg. Nem tudsz szabadon valasztani eszkozt, nem tudod mit forditle, hatalmas hex-et general egy par sors programbol, es egyeb nyalanksagok. Igaz lattam finom megoldasokat, pl ha nem fer a program a PIC-be, osszekotjuk soros vonalon a masikkal, es majd jo lesz, de ha megsem akkor megegy PIC. Mifelenk ugy csinaljuk (ASM, C nyelvu programozas), ha nem fer el a program, veszunk egy nagyobb PIC-et. Mar sokszor leirtuk, de megegyszer: el kell kezdeni az ASM megismereset. A " T es T "oldalon nagyon jo magyar leiras van a PIC16 sorozat belso felepiteserol, programozasarol, utasitaskeszleterol es mintapeldakkal. Ha megfogadod ezeket a tanacsokat, sokkal hamarabb eljutsz a celodhoz. Csa Vili
Sziasztok! Következő félévben fogunk suliba pic-ekről tanulni, de szerintem nem tul mélyrehatóan lévén levelező suli. Viszont érdekel a téma. Pic égetőket sokan ezt a PICKit2 2-őt javasolják. Megépítése nekem nem jöhet szóba mivel ha jól értelmezem magához a pic égetőhöz is kell egy pic amit valahogy szintén fel kell programozni.
Szóval a kérdések: Az általatok épített legtöbb pic égető foglalata 18 lábú ha jól látom de én egy 28 lábút szeretnék égetni (Atmega48 persze nem most) akkor ehez 28 lábú égetőt kell vennem? a 28 lábúval lehet kissebbeket is égetni? Tudtok boltot ahol ilyeneket árulnak? A másik kérdésem, hogy milyen programnyelvet lenne érdemes elkezdeni tanulni hozzá? assambly kicsit nekem bonyorultnak tűnik. C már kicsit barátibban néz ki, de C++ ban is lehet? Alapszintű tudásom van értsd: Pascal És a programozási logikával is "elvagyok" Előlre is köszi.
Az Atmega48 AVR mikrovezérlő, nem PIC.
Teljesen mindegy, hogy hány lábú a foglalat, ha kivezeted a programozáshoz szükséges lábakat, akkor bármilyen PIC-et fel rudsz prograozni, legyen az akármilyen lábszámú. Minden PIC adatlapjában benne van a programozó lábak bekötése. Idézet: Maradjunk a C-nél, a PIC 18-tól kezdve C-hez optimalizált a hardver, s ez az a nyelv, ami az assembly mellett gyárilag támogatott. „C már kicsit barátibban néz ki, de C++ ban is lehet?”
Sziasztok!
A legújabb dokumentum az ICSP programozás megoldásairól. @Watt: Szerepel benne a 10k ellenállás a Vpp - Vdd között, továbbá a Vpp jelen megjelenő túllövés elkerülésére is adnak megoldást.
Szia!
Érdekes, hogy ugyan ott van a 10k, de OR kapcsolatba van a dióda és a 470ohm a rajzon jelölve. Ha csak a diódát építjük be, akkor a 10k védelme ki lesz iktatva, újra védtelen lesz a Vpp.
Asynchron soros porttal (9,6 K) küzdök, eddig minden programomban gond nélkül működött. Most azonban a következőt tapasztalom:
Fosz=48 MHz mellett nem adhatok két adatot közvetlenül egymás után, mert a vevő már téveszt. Ha időzítéseket rakok a kiküldések között minden rendben. Amit nem értek, hogy a subrutinban benne van TX2IF figyelése, tehát nem mehetne tovább a program amíg TXREG ből a TSR át nem veszi az adatot, és általa az ki nem ürül. Íme a kód: Még esetleg arra gondolok, hogy a stopbit után szinte 'azonnal' jön a startbit, és a vevőnek nincs ideje feldolgozni azt. Ha ez a feltételezés igaz, akkor hogyan lehet megállapítani a minimális követési időt két adat között?
Nézz fel az oldalamra, találsz égetőket, amivel fel tudod programozni a 2550-et. Egyéb másról is találsz infókat, pl. arról, hogy mi az a PIC(Az Atmega nem az).
Ne a TX2IF -et vizsgáld, hanem a TXSTA2,TRMT. Ha 1, akkor a puffer kiürült...
Bocsánat, most veszem ésre, hogy AVR-t írtam. Nem AVR mikrovezérlő, az Atmega egy külön kategória.
Az ATmega ugyan úgy AVR mikrovezérlő!!! Tevalahogyan kevered ezeket a dolgokat. Szerintem olvass utána a dolgoknak.
A TRMT re én is gondoltam, de eddig így gondolkoztam: A TX2IF mutatja, hogy elfogadja a következő adatot a TXREG, tehát a TSR már átvette az előzőt tőle. Amíg a TSR el van foglalva a kiküldéssel (lényegében ezidő alatt lesz magas a TRMT is) nem tud átvenni adatot a TXREG től, tehát TX2IF állapotát elég figyelni. Most, hogy felvetődött a probléma megnéztem a timing diagramot, és valóban hibásan gondolkodtam, a TRMT hasznosabb lesz.
Bocsánat, igazad van. Egy kicsit megkeveredtem...
Ebből nem derült ki, hogy mi a vevő, milyen PIC az adó, és konkrétan melyik kiadásáról van szó. Meg kellene nézni, hogy mit ír az adott PIC Errata-ja (pl. vannak olyan ritka esetek, amikor TXIF flag helyett a TRMIT bit figyelését ajánlják).
Idézet: Ilyen pl. akkor van, ha a vevő 2 db. STOP bitet vár... „Még esetleg arra gondolok, hogy a stopbit után szinte 'azonnal' jön a startbit, és a vevőnek nincs ideje feldolgozni azt.”
Én is úgy látom, hogy a IF már akkor beállítódik, amikor a TXREG-be bekerül az adat, de még ekkor a puffer nem ürült ki. Ha ekkor ráírod a következőt, torlódás lesz. Ezen segített átmenetileg a várakozás, amit említettél. A TRMT akkor lesz magas, ha kiürült a puffer.
Semmi gond ez mindenkivel előfordul így estefelé.
Idézet: „Ha ekkor ráírod a következőt, torlódás lesz.” Szerintem nincs torlódás, csak kihasználjuk a kettős bufferelést. A TXIF bit direkt erre lett tervezve. A gond ott van, hogy bizonyos típusoknál ezt a kettős bufferelést elszúrták a tervezésnél/gyártásnál, és bizonyos feltételek esetén hibásan működik. Ilyenkor jöhet a hiba elkerülésére a kettős bufferelés mellőzése, a TRMIT bit figyelésével.
Annyiban korrigálok, hogy a Back To Back módnál valóban a TXIF-et vizsgálják és más a működése, de tényleg lehet, hogy van az erratában erről valami az adott PIC-nél. Egyébként alig veszíthetünk valami kicsi időt, ha nem használjuk ki a módot, és a TRMT-t használjuk...
Igen, közben már korrigáltam. De ettől függetlenül én nem használom a TXIF-et, mert nem sok veszíteni való van, viszont stabilabb a kommunikáció.
Akkor viszont tuti, hogy hibás a PIC, azaz az erratájában benne van erről valami. De lényeg, hogy már jó!
Szia! Lehet hogy hülyeséget mondok, de a 10K akkor lenne kiiktatva, ha a dióda ellenkező polaritással lenne bekötve. Így a belső ellenállásán eső feszültség helyettesíti a 470 ohmos ellenállást. Nem véletlenül írnak schottky diódát, a gyors reagálása miatt. Azonban ez az ágyúval verébre tipikus esete, inkább az ellenállás.
Szia!
Nem a rajzra gondoltam, hanem az alábbi két bekezdésre: Idézet: „Additionally, the MCLR/VPP signal is used by the development tool to provide the voltage used for programming some devices or to signal attention. In instances where the application has a large capacitor, it will cause the signal rise and fall time to degrade. This will hinder the ability of the tool and the device to communicate effectively. It is recommended to keep the signal pulled up to VDD with a 10K resistor and to utilize the power-on timer features of the device to ensure a proper power-up sequence.” Boldog karácsonyt mindenkinek!
A dióda pont záró irányban lesz egy esetleges túlfeszültséggel(ami meghaladja a Vdd-t és a 12V-ot is). Így a Vpp-n kialakulhat egy feszültségcsúcs. Erre gondoltam...
Valóban, de nekem mindig bajom volt azzal, amikor nem egyértelmű egy ajánlás, illetve nincs összhangban a rajz a szöveggel...
Neked is kellemes ünnepeket!
pic18f97j60-at használok.
Van rajta ethernet bootloader, amire tftp-n keresztül fel tudom tölteni a programom hex-ét. fel is tudom tölteni, ez ok! A régi TCP/IP Stack-ban, ha IP címet próbáltam módosítani, akkor hibásan indult újra a pic. Kérdésem a következő: Hogyan tudnám modosítani a pic webes felületéről az IP címét, a felhasználónév/jelszó, a pingelendő IP cím, stb paramétereket?
Sziasztok!
Most raktam egy új videokarit a gépbe,mert a csodálatos GALAXY 9800-as meghalt. A gondom az, hogy mindaddig nem kapcsol be a gép,amíg a monitort be nem nyomom,ha nem kapcsolom be a monitor csak ujraindulgat.A kábeleket ki-be dugdostam, fogalmamsincs már,h mi lehet a gond,ha valaki tudja,azt nagyon megköszöném! |
Bejelentkezés
Hirdetés |