Fórum témák
» Több friss téma |
Bocsássatok (watt is) meg ha félreérthető vagyok.
Egyáltalán semmi fikázás nincs a szavaimban. Napokon át figyeltem a párbeszédeteket. Ittam szavaitokat, mint taknyos gyerek a tanáráét. Láttam hogyan alakul egy ötlet megvalósítássá. Minden szó amit leírtatok számomra megvilágította az utat. 20 évvel ezelőtt foglalkoztam a PIC-kel. ASM-ben próbálkoztam a C52 és a C84 programozásával. Azután másfelé vetem az utam. Most, hogy ismét előtérbe került a PIC teljesen 0-ról indulok. A régi Parallaxos égetőt felváltotta a Watt féle. Ezért is örülök, hogy itt lehetek e fórumon ahol önzetlen, nagy tudású emberek munkái segítik a tanulást. Sajnálom, ha követelőzőnek tűntem. Ezt a tudásszomjam váltotta ki belőlem. Még egyszer bocsánatot kérek.
„kisujjából kirázva”
De hiszen ez a csodálat megnyilvánulása részemről. Felmerült egy probléma és pár percen, órán belül megjelentél a megoldással. Mi ez, ha nem a tudás, az elszántság és a rutin ötvözete.
Köszönöm! Én ígérem a magam részéről, hogy tatózkodok az offtól és próbálok építőleg hozzászólni. Többieket pedig arra kérem, hogy amit írtam abból a pozitív oldalt próbálják megérteni. Végül is mindenki jól jár és nem kell, hogy bárki rossz érzéseket érezzen. Sőt, büszke lehet, hogy segíthetett azokon, akik a végén használják az ő tudását. Mindezt a HE oldalnak és mindenkinek az érekében tartom helyesnek, akik itt tanulnak. Köszönöm!
Kedves Hozzáértők!
Napok óta kínlódom egy soros port összehozásával... 18F4520 as (régi jól megszokott) PIC - panelomon... Azt tapasztalom hogy a hardveres UART oda vissza kommunikál és helyesen működik is (max232 ---> pc) de a szoftveres megvalósításnál a PIC RX oldalon nem érzékeli a jelet ... A szkóp mutatja a jelet a bemeneti lábon de a program nem érzékeli... mintha süket lenne a pic... Áttettem más lábra ott sem... Tapasztaltátok már ezt a jelenséget? Sajnálom hogy elromlott itt a fórumon a hangulat egy kicsit, és félek attól hogy a segítőkész emberek elveszítve a kedvüket, a hozzám hasonló kezdő útját nem fogják pátyolgatni olyan serényen mint eddig... Gondolom ez az aspektusa a fenti vita kialakulásának csak nekem jutott eszembe önző önös érdekből...
Üdvözletek!
Mindjárt 2 kérdésem is lenne : 1.: hogyan tudom megfordítani a pwm kimenet "fázisát" szoftveresen ? (néha H aktív, néha L aktív kimenetre van szükségem, de jó lenne, ha egy külső Jumperrel tudnám váltani,amit figyel a program). 2.: a kimenő négyszögjel magasságát (feszültségét) lehet szoftverből változtatni ? (ha nem muszáj, nem tennék digitpotit a kimenetre...
1. Milyen CCP modul van a (milyen)PIC-edben? (ECCP, vagy CCP)
2. Nem lehet.
Adni tud szoftveresen? Jól állítottad be a fordítóban a fő oszcit? Ebből számolja a baudrate-t.
Megpróbáltam a helyzet a szokásos, sikertelen, van 3 db 16F874-es PIC-em mindegyiknél ugyan azt játszotta el semmi reakció csak kockák vannak az LCD-n, viszont egy 16f628A-IC-vel teszteltem ott szépen dolgozik az LCD.
Nos , a projekt legelején vagyok, szóval mindegy lenne (16f683 akár...).
Olyan nincs, hogy 683...
Olyat válassz, amiben van ECCP modul(pl. 16F690). Ebben ki lehet választani, akár menet közben is, hogy milyen legyen az alapállapot szintje. Az más kérdés, hogy a Flowcode nem támogatja az ECCP-t, ezért a PIC adatlapja szerint kell beállítani a regisztereket C blokkban. Nem nagy dolog...
Van, csak nem 16f hanem12f ... , elírtam,bocs.
Csak Flowcode-al tudok programozni, C kód kilőve. Azért köszönöm!
Nem a nyelv a lényeg, hanem a PIC ismerete. Ha ismered a PIC-et az adatlapjából, akkor neked már csak egy C blokkot kell betenni, amiben egyszerű műveleteket kell csinálnod. pl. ebben az esetben a CCP1CON CCPM1<3:0> bitjeit kell megfelelően beállítanod, hogy a kimenet alap szintje a neked megfelelő legyen. Ehhez egy C blokkot kell beszúrni, amiben értéket adsz a ccp1con regiszternek. pl.
Ahol az nn a megfelelő érték, ami a regiszterbe kell. Nézd meg az adatlapot, nem olyan vészes...
Szia! Most volt időm megnézni a kódot. Szerintem a vételi blokk lemarad a bejövő csomagról a 200ms várakozás miatt a LED-ek ágában. A vételhez folyamatos figyelés kell, ami észreveszi, hogy jött-e adat. Ezt egy Timer megszakításban érdemes megtenni, vagy ha a program megengedi, akkor egy olyan várakozó ciklusban, ami csak a bemenetet vizslatja.
Sziasztok!
Flowcode 4.x és pickit2 meg pic10f222. A problémám az, hogy amikor le szeretném fordíttatni a chipbe a progit, (folyamatábrát), akkor a pp futtatása leáll két hibaüzenettel. Egyik 50 general error, másik, ha jól emlékszem, 52 és valami rövidebb szöveg. Nem vagyok most gép előtt. Bár, vallom azt, ha az első hibaüzi forrása meglesz, akkor megoldódik a másik is. Köszönöm! Üdv! Imre Idézet: Es folyamatos kiolvasas, mert az UART overrun errora fut. Ilyenkor le kell allitani az uartot, es ujrainditani. Tehat le kell kezelni ezt a hibat, mert kulonben csak all es nez es nem csinal semmit. Ezert szoktuk a vetelt IT-ben lekezelni, es adat erkezesekor azonnal kiolvasni. „A vételhez folyamatos figyelés kell, ami észreveszi, hogy jött-e adat”
Csatolok hozzá állományokat is, hátha igy könnyebb lesz a hozzáértőknek.
error: could not open input file 'D:\Elektro\FLOWCO~1\Tools\boostc\config\PIC10F222.tdf'
Nem támogatott PIC, lehet külső fordítóval kellene próbálnod.
Köszönöm, este nekikezdek. Akkor ez a megoldás működni fog a 12f683 is, ha jól értem.
Mennyire bonyolult a USB HID bootloader használata? Találtam róla leírást, de ez egy kicsit pilótavizsgásnak tűnik. van egy 16F2550-em. Az éjjel megterveztem hozzá a nyákot. Estére le is gyártom. A választ a PIC kezdőknek topicba küldenéd? Köszi.
Nem tudom, hogy a szoftveres USART képes-e így működni? RXINT lábnál melyikre gondoltál? A hardveresnél evidens, de a a szoftveresnél?
Hardveres USART-nál nincs gond, de nem tudom, hogy a szoftveres hogyan kezeli le ezt. Nem nagyon néztem a mélyére még.
Nem néztem van-e benne ECCP, de most felmegyek a microchip oldalára és belenézek az adatlapjába..... Na, ebben sima CCP-van, tehát ezzel nem fog menni.
Szia! Abszolut nem bonyolult. Felteszek egy hex-et a 18F2550-hez(gondolom nem 16F-ed van, mert olyan sincs! ). Beégeted, majd a hozzá való letöltő programot elindítod, ami fel kell hogy ismerje csatlakozáskor a PIC-et, ha nyomod a gombot közben, amit az RB5 lábra kell kötni felhúzó ellenállással(1k) és a gombnak testet kell kapcsolnia.
A programot a 0x1000 címtől kell fordítani, amit a Flowcode Build / Fordító opciók menüpont Linker / Assemler fülén kell beállítani az -rb "0x1000" beillesztésével a sor végére. Erről is feltettem egy képet. Nem oda küldtem, mert a Flowcode beállítások ide vonatkoznak...
Köszi! Persze, hogy 18F. Azt olvastam, hogy el kell tolni a programom kezdetét, csak azt nem értettem, hogy Flow-ban hogyan.
a hozzá való letöltő programot elindítod,
Ez alatt mit értesz?
Leírtam, hogyan!
Van egy exe a csomagban, felteszem mert nem nagy, de a forrást is le lehet tölteni a bootloaderrel együtt a microchiptől C++. Így keresd a csomagot, amiben benne van telepítés után az USB alatt: Microchip Solutions
Pontosan a HW USART a problema. Van ugye 2 byte mely HW buffer. Amikor jon ket byte RX akkor a buffer betelik, es ha nem olvasod ki akkor bebillen a RCSTA OERR bit es leall a vetel. Az ujrainditas a RCSTA CREN bit 0 majd 1 allitassal lehetseges, ellenkezo esetben nem fog tovabb dolgozni a RX. Persze nem tudom hogy ebben a programban kezeli-e a HW biteket automatikusan, vagy kezzel kell billegegtetni a megfelelo biteket. Ez akkor tud elofordulni, ha pl nem IT-s a RX kezelese, hanem pollingos. Csinalsz valamit (pl kijelzo iras), nem ersz oda a RCV buffer kiolvasasahoz es az ellenseg kuldi az infot folyamatosan. 2 byte gyorsan bejon es mar le is all a veteled.
Ebben igazad van, de azt vedd figyelembe, hogy most a szoftveres USART-ot próbálja kiskata beüzemelni, arról folyt a szó.
A hardveresnek meg kell mondani, hogy milyen hosszú adat okozzon megszakítást, addig maga kezeli a bejövő karaktereket az általunk létrehozott stringbe. Van egy időtúllépéses beállítása is, szóval ezt is lekezelték. Próbáltam, szerintem elég jól dolgozik, ha közben 10KHz-el lekezeltem mellette a CCP1 megszakításait. Ezzel itt úgy tűnik nem kell külön foglalkozni. Viszont a szoftveres szerintem nem ilyen egyértelmű, hacsak nincs kikötve, hogy csak megszakítást okozó lábra lehessen konfigolni az RX-et. Megnézem ezt a modult majd jobban, mert még nem volt időm. |
Bejelentkezés
Hirdetés |