Fórum témák

» Több friss téma
Fórum » Folyamatábrás mikrokontroller programozás Flowcode-dal
Lapozás: OK   239 / 360
(#) Bakman válasza kokozo hozzászólására (») Aug 11, 2015 /
 
Annyira nem komplikált szerintem. tmr0 -ban hogyan állítasz be egész Hz -es megszakítást 4 MHz-es kvarccal Flowcode-ban? Lehet, hogy megoldható C kódokkal, de azért használok Flowcode-ot, mert nem nagyon van kedvem/időm/lehetőségem megtanulni még egy-két programnyelvet (C és/vagy ASM), más területről származik az alap amivel gazdálkodom. Ha bírnám ezeket a nyelveket is, minden bizonnyal azzal próbálkoznék, nem az ilyen egyszerűvel, de nagyon könnyen megtanulhatóval. Plusz ha a Flowcode-dal is elérek a célig mert elég az a lehetőség amit biztosít, feleslegesen nem fárasztanám magam. A megrendelőt marhára nem érdekli, hogy egy ilyen programot összedobálok max. egy óra alatt vagy esetleg eltolok rá több napot. A lényeg, hogy úgy működjön, ahogyan kéri.

tmr2 -vel mérem az időt, mivel azt könnyen be lehet állítani úgy, hogy 25 Hz-es megszakítást generáljon. Egy másik időzítő, a végleges változatban a tmr0, a külső LED-eket villogtatja.

Félreértés ne essék, meghajlok akár földig is a nagyobb tudás előtt, de ha egyszer három timer van a kontrollerben, miért ne használnám? tmr1 azért tűnt kézenfekvőnek, mert abban a legnagyobb osztással ~1,9 Hz-es megszakítást lehet generálni, ez pedig a LED -ek villogtatásához ideális, kevesebbet kell számolgatni. Elmegy 0 -tól 3 -ig (négy állapot, annyi, amennyi kell), 4 esetén nullázás. A hibát ott követtem el, hogy a program tesztelése előtt elkészítettem a NYÁK-ot, minden alkatrészt beforrasztva és "csak" ennyi volt a probléma.

A kérdés egyébként továbbra is áll: mi történik nevezett két lábbal Timer1 aktiválásakor.
A hozzászólás módosítva: Aug 11, 2015
(#) Bakman válasza (Felhasználó 15355) hozzászólására (») Aug 12, 2015 /
 
Most volt időm tesztelni. A C kóddal jó, ha a t1con regiszterben a T1OSCEN bitet 0-ra állítom, ezt valóban elnéztem. C kód nélkül akkor működik jól, ha az általad javasolt módosítást megcsinálom a 16F876.fcd fájlban. Ez utóbbi esetben működik a belső és külső oszcillátor választás a Flowcode megszakítás ikonjában is, tehát az alap hiba a Flocode-ban van.

Köszönöm a segítséget, megvan mindkét helyen a hiba!
(#) elektroszala hozzászólása Aug 12, 2015 /
 
Üdvözlet!

Adott egy eszköz,ami rs232-n kommunikál, de csak 2400 baud-al. A pic-em 40 megán ketyeg (4x10) egy 480x320-as kijelző miatt, viszont emellett az órajel mellett nem beállítható a 2400 -as tempo.
Azt már megoldottam, hogy kezelje a program oda-vissza a 9. paritásbitet is, de erre nincs ötletem. Próbáltam softweresen, de az időzítések nem voltak megbízhatóak 40 megán, ha meg leveszem az órajelet -hogy tudjam használni a hardveres uart-ot- akkor az meg kijelző miatt az nagyon lassú.Tudtok segíteni?
(#) elektroszala válasza elektroszala hozzászólására (») Aug 12, 2015 /
 
Közben csináltam egy olyat, hogy egy kisebb pic beszélget az eszközzel 2400 baud -on (ez 4megán ketyeg), és a kapott infót spi-n adja át a kijelzőt (meg a tényleges programot) futtató nagyobbnak ami így 40megán megy.De ezzel még tornázom, mert első nekifutásra nem veszi az infót amit amit a kicsitől kap. Az spi -je működik, mert ha testre teszem az adatlábát 0 nullákat vesz, 3V-ra téve 255 jön, de ami a kicsiből jön, az nem ok. (márpedig az biztos jót mond, azt logikai analizátorral ellenőriztem).

Ha van egyszerűbb módja, arra még mindig nyitott vagyok
(#) niedziela válasza Bakman hozzászólására (») Aug 16, 2015 1 /
 
Idézet:
„tehát az alap hiba a Flocode-ban van.”

Mindenképpen
(#) Bakman válasza niedziela hozzászólására (») Aug 17, 2015 /
 
Hiába gúnyolódsz, ez kb. olyan, mint az autó. Attól, mert nem tudom megjavítani, még vezethetem. Ha berakom egyesbe, nekem ne hátrafelé induljon el! De mint simpi linkje mutatja, nem újkeletű a dolog, nekem az volt.
(#) Bakman válasza (Felhasználó 15355) hozzászólására (») Aug 17, 2015 /
 
Éppen attól tűnik annak. Mindegy, SpongyaBobot rája!
(#) niedziela válasza Bakman hozzászólására (») Aug 17, 2015 /
 
Nem gúnyolódtam, inkább csak elszomorít, hogy mint írod "se időd se kedved más programnyelveket tanulni..." amire nincs is teljességében szükség, de azért egy egy parancsot sort, megoldást hasznos lenne megtanulni az elutasítás helyett.
A flowcode adta lehetőségek máskülönben abban merülnek ki amit a fejlesztők beleírtak
De ez nem csak a program hibája
(#) Bakman válasza niedziela hozzászólására (») Aug 17, 2015 /
 
Megpróbáltam, mint az a programban is látszik, de egy idő után belekeveredtem és a végén már nem láttam a fától az erdőt a sok próbálkozás miatt. Ekkor kértem segítséget. Öreg fórumozó (is) vagyok (nem itt) már ahhoz, hogy kapásból segítséget kérjek ahelyett, hogy elolvassak egy adatlapot vagy használjam a nagy testvér keresőket. Gondolom te is kértél már segítséget fórumon hisz nagyrészt éppen ezért van.
(#) elektroszala hozzászólása Aug 17, 2015 /
 
Üdv!
fenti gondom "megoldódott". Flowcode nem kezel SPI Slave-et. Mindegy megoldom sima uart-al.
Eddig Uart megszakítást még nem használtam, most összedobtam egy kicsi progit, ennek a kijelzőm háttérvilágításának a ledjét kellene villogtatnia, mikor vétel van, de persze nem teszi.
Segítsetek légyszíves, mit amatőrködtem el? Sajnos sehol sem találtam Fw5-re RXINT -re mintapéldát...
A hozzászólás módosítva: Aug 17, 2015
(#) elektroszala válasza elektroszala hozzászólására (») Aug 17, 2015 /
 
Nos, evvel másnak is meggyűlt a baja, itt a megoldás, az MM fórumról:

"
1. Before the interrupt is enabled the port must be read out.
2. The implemented RXINT does not work. It must be written as a customer interrupt:
enable code:
set_bit(intcon, GIE);
set_bit(intcon, PEIE);
set_bit(pie1, RCIE);
handler code:
if (test_bit(pir1, RCIF) && test_bit(pie1, RCIE))
{
cr_bit(pir1,RCIF);
FCM_%n();
}

"
(#) elektroszala válasza (Felhasználó 15355) hozzászólására (») Aug 18, 2015 /
 
Üdv!
Amit bekopiztam, azt már használom, mióta megtaláltam, hál'Isten működött egyből, köszönöm, hogy foglalkoztál vele!
Az Spi slave-re rákeresek.
Mit kell néznem a Pic adatlapján, amiből kiderül, hogy kezeli-e az SD kártyát?
Amiket ezelőtt használtam Pic-eket azokkal nem volt gond (de ezek szerint csak szerencsém volt /pl18f8722), de a 18f26k22 úgy tűnik nem tartozik közéjük.
(#) elektroszala válasza (Felhasználó 15355) hozzászólására (») Aug 18, 2015 /
 
Hát... ha így kérdezed, akkor mégis más lesz a hiba (?). Azért gondoltam, mert már hónapok óta használok Sd kártyát, de evvel az egy pic-el nem működik. Sd init nulla, open directory nulla, read file sector nulla (tehát eddig jó), ready byte from sector 0.0.0.0.0...
Olyan mintha a file buffer nem töltödne fel. Az órajel egyébként 4 mega. Természetesen, ha nincs meg a keresett könyvtár vagy file, azt észreveszi a program, tehát az Sd kártyát látja.
Rengetegszer ellenőriztem a bekötést, ezért gondoltam, hogy a pic lesz a hunyó. Sajnos a fájlt nem tudom feltölteni, így ezt magamnak kell megoldani.
Az Spi slave-re rákerestem, egy rar fájlt találtam nálad, de abban csak 5 fájl volt(dsn,pw1,dbk és 2hex) fcf fájlt nem találtam. Hogy kell valakinek a hozzászólásait kilistázni (a gyik-ben nem találtam segítséget), már ha lehet ilyet egyáltalán?
(#) Bakman válasza elektroszala hozzászólására (») Aug 18, 2015 /
 
Ollózd ki azt a részt ami nem működik, hátha annyi is elég a hiba feltárásához.
(#) proli007 válasza elektroszala hozzászólására (») Aug 18, 2015 /
 
Pld.. "user:simpi"
(#) elektroszala hozzászólása Aug 18, 2015 /
 
Kiexportáltam a makrót:

READ_BMP.fcm
    
(#) elektroszala válasza proli007 hozzászólására (») Aug 18, 2015 /
 
Köszönöm!
(#) elektroszala hozzászólása Aug 20, 2015 /
 
Üdvözlet!
Egy korábbi gondomra visszatérve:
Elvileg ( a pic kezdőben is rákérdeztem) beállítható 40 ill. 64 MHz mellett is a 2400-as baudrate az UART -on. Flowcode -ban beállítva 2400 -as tempót, 8 Megás órajel felett már csak 4800 ill 9600-nál magasabb sebességeket tudok használni(alatta ilyenkor teljes badarság amit küld). A furaság: alpban 4-es qvarc PLL Off. Így inden ok, a panelem ad-vesz hiba nélkül. Bekapcsolom a PLL-t adás több byte egymás utánban is ok, vételnél első byte ok(lcd-re iratom ki, mit lát a pic), a többi érték teljesen hibás (5 báytos csomagokkal tesztelem). De pl. 10-es kvarccal, PLL-el már az adás sem jó. Szerintem, ha C blokkban adnám meg az idevonatkozó konfigbitek beállításait, lehet működne (mint oly sok más is), csakhát... ahhoz stupid vagyok. A biztonság kedvéért csatolom a pic pdf-jét, a 281. oldalon taglalja az idevonatkozó konfigbiteket, ezt nagyjábol értem is, de mivel C ben írni nem tudok, ezért kérnék valakit aki érti ezt a részét, írna nekem egy C blokkot, amiben a konfigbiteket tudom állítgatni? Nem muszály konkrétan az én kérdésemre a megoldás, csak, hogy legalább azt lássam, nyelvtanilag hogyan kell beírni ezeket az értékeket...A többit majd megoldom.
Már csak azért is, mert a következő feladatom az integrált RTCC kezelése lenne (egy másik pic-ben), és mivel a Flowcode azt sem kezeli, marad a C blokk. Tökjó lenne, nem kellene mindenhova külső SPI RTCC-t tennem , mint manapság.
Evvel kapcsolatos a másik kérdésem: ha egy konfigbájtban csak egy bitet akarok változtatni, a konfig bájt is maszkolható?
/szerk: a 18f26k22 pdf-je 9 mega, nem tudtam csatolni/
A hozzászólás módosítva: Aug 20, 2015
(#) Horváth P Tamás hozzászólása Aug 23, 2015 /
 
Sziasztok. A Manchester kódolás tudna valaki feltenni egy példát,a dekódolás is érdekelne . Nagyon szépen köszönöm előre is. Pontossaban ez(Bővebben: Link) szeretném megcsinálni flowcode ban
A hozzászólás módosítva: Aug 30, 2015
(#) kokozo válasza Horváth P Tamás hozzászólására (») Aug 23, 2015 /
 
Szia!
Ebben benne van minden elvileg. Természetesen lehet bittologatással is csinálni de ezt így egyszerűbb értelmezni. Dekódolásnál van benne hibakereső rész is amit a gomb megnyomásával lehet szimulálni.

bytetobit.fcf
    
(#) Horváth P Tamás hozzászólása Aug 23, 2015 /
 
Nagyon szépen köszönöm , ha elakadok valamin akkor kérdezhetek ?
(#) Bakman válasza elektroszala hozzászólására (») Aug 23, 2015 /
 
Ezt hogyan lehet kinyitni? Import paracsra ezt a hibaüzenetet kapom (mindegy, hogy hol van a file).

Shot_731.jpg
    
(#) Bakman válasza elektroszala hozzászólására (») Aug 23, 2015 /
 
Csak rápillantottam, most többre nincs erőm. Nem lehetséges, hogy az SPI és a FAT komponensek "zavarják" egymást? A makróból nem látszik, mi hogyan van konfigurálva.
(#) Bakman válasza (Felhasználó 15355) hozzászólására (») Aug 23, 2015 /
 
Nekem az jutott eszembe, hogy FAT kommunikáció közben kikeveredhet olyan adatcsomag, amire egy SPI eszköz reagál mert azt hiheti, hogy neki szól. Ilyenkor lehet, hogy egyszerre beszélnének. Most kellene alaposan belenézni a Flowcode makrók forráskódjaiba és a konfigurációs szavakba, hogy a már említett lehetséges zavaron kívül van-e valamilyen összeakadási lehetőség. Gondoltak-e a fejlesztők arra, hogy egyszerre kellhet mindkét kommunikáció? Továbbá az SPI kommunikációhoz kell felhúzóellenállás, a FAT kezeléséhez nem. Csak így, felületesen szemlélve is több buktatót látok vagy látni vélek.

Ide kell csalogatni egy feketeöves PIC programozót.
(#) Bakman válasza (Felhasználó 15355) hozzászólására (») Aug 23, 2015 /
 
Nem tudom, én eddig egyszer sem raktam SD kártyához felhúzó ellenállást, működött mindig. Egyébként pedig megyek a sarokba kukoricára térdelni, gondolatban belekevertem az I2C kommunikációt (általában ugyanazon lábakat használja az is).
(#) elektroszala hozzászólása Aug 24, 2015 /
 
A paneleim többségén parallel kijelzőt használok (sd-vel és eeprommal is), tehát azokkal nincs tapasztalatom, márami az spi adatkeveredést illeti. Viszont van kettő is , amin ugyan másik pic típussal (18f8722, ill18f67k22) de ugyanazon az SPI buszon van a kijelző, az eepromok, ill az sd kártya is. Felhúzó nélkül működnek, hiba nélkül. Az adatkeveredést azért is kizárnám, mert nem random adat jön vissza, hanem 0. Esetleg az init adatok is csak véletlenül nullák ( ami a Fc szempontjából OK-nak értelmezett?)...
Ha szerintetek menni kell a 26k22-vel is, akkor majd még bírkózom vele, és közzéteszem ha rájövök, mi volt a gond. Viszont most tovvább kellene lépnem, és a csütörtökön 0:33-kor feltett kérdésemben, ha tudnátok segíteni, nagyon hálás lennék, mert avval nagyon elakadtam, és esély sincs rá, hogy azt saját kútfőből megoldjam.
A hozzászólás módosítva: Aug 24, 2015
(#) elektroszala válasza Bakman hozzászólására (») Aug 24, 2015 /
 
Próbáld meg feljebb tenni, hátha...
(#) elektroszala hozzászólása Aug 24, 2015 /
 
Közben gondolkodtam. Egyszer az egyik 18f26k22-re (vagy egy évvel ezelőtt) rádrótoztam egy SD kártyát, még mielőtt véglegesedett az a cucc és átírtam eepromba. Tehát működött evvel a pic-el is, úgyhogy a hiba az én "készülékemben" lesz, most már 100%. Ha kipihentebb leszek, nekigyűrközöm századjára is a hibakeresésnek.
(#) elektroszala válasza (Felhasználó 15355) hozzászólására (») Aug 24, 2015 /
 
Azon a 2 ellenálláson nem múlik... ezentúl rátervezem!
A hozzászólás módosítva: Aug 24, 2015
(#) iranytu hozzászólása Aug 27, 2015 /
 
Sziasztok! Parsic-ről áttértem a Flowcode V5 programra. Szimuláció szépen megy, C-be tudok fordítani, de sem a hex, sem a közvetlen írás nem megy. V5 program + PICkit2 a felszereltségem.

Súgó sajnos félrevisz, mert V4-ből másolták... Google most nem volt barátom (vagy vaksi vagyok)

Ha valaki ezt a verziót használja legyen szíves nézze meg mit nyomkodtam el.

ezt állítottam be: (Build legördülő menü/fordító opciók)

compiler fül
hely:
c:\program files (x86)\flowcode\v5\tools\boostc\boostc_pic16_flowcode.exe

Súgó V4-es, pic16_C30_comp.bat filera mutat. ilyen nincs...
Paraméter:
"%f" "%D" %T

Linker/Assembler fül:
hely:
C:\Program Files (x86)\Flowcode\v5\Tools\boostc\boostlink_pic.exe
Súgó V4-es, pic16_C30_link.bat filera mutat. ilyen nincs...

Paraméter:
"%f" %T %y

Programmer fül: (PICKit2-m van)
hely:
C:\Program Files (x86)\Flowcode\v5\Tools\PICkit2\pk2cmd.exe
pk2cmd.exe-ra mutat a súgó, és lőn: találtam!

paraméter:
-P%a -F%f.hex -M -R

nincs kipipálva a programozó használata a konfigurációs opciók beállításához
A hozzászólás módosítva: Aug 27, 2015
Következő: »»   239 / 360
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