Fórum témák
» Több friss téma |
Köszönöm. Az a gond hogy nekem ez még így magas sajnos... Mintát tudnál mellékelni? Nagyon megköszönném.
Egy példa van Icserny cikkében, ahol a Timer túlcsordulással villogtatja a ledeket. Ezt egy kicsit átdolgozva megoldható a dolog. Bár egy kicsit elszámoltam magam, mert 1 másodpercre nem tudod beállítani a Timert, 1MHz esetén.
Persze van más megoldás is, de ez tűnt hirtelen a legegyszerűbbnek. Megcsinálhatod azt is, hogy a count_1s-t beállítod 20 percre, és onnan számoltatod visszafele. Ekkor a megszakításba "count_1s--;" kerül.
Köszönöm szépen. Megpróbálok alkotni valamit, aztán írok hogy mire jutottam.
![]()
Sziasztok azzal a kéréssel fordulok hozzátok mert elakadtam pár dologban a propeller led átalakítás készítésénél.5X7-es mátrixot építettem s a propeller kódot akartam átalakítani de elakadtam több dologban.
Ma másik próbálkozásommal odáig eljutottam hogy 1Karaktert megtudok jeleníteni 5x7 mátrixon (P1OUT sor P2OUT oszlop) P2.0...4-ig való léptetéssel de ha több karaktert írok akkor off. Szeretném megérteni a működését ezért kiegészítésként írtam megjegyzéseket. Nincs több ötletem lehet csak valamit félreértek Várom válaszaitok magyarázataitok esetleg valami1szerű mintaprogramot Linket amivel megérteném a megjelenítést szövegfuttatást. Köszönöm
A becsatolt program szerintem arra való, hogy egy mozgatott/forgatott LED sor segítségével kirajzolja a pontsorokat, s a képet a hozzá képest tehetetlen szemed és agyad rakja össze. Ha nem egy LED sorod, hanem egy LED mátrixod van, akkor ez a megközelítés nem használható.
Üdv. Icserny igazából mi ezt mykymokus-al találtuk ki úgymond hogy át lehet-e írni egy mátrix progivá. Én ezt a progit meg is csináltam anno propeller-es kijelzőhöz tőlem származik a kód én kerestem anno még a neten ,de akkor úgy látom nem igazán lehet ezt átírni.
![]() Üdv. Mybuster
Az átírásnak nincs akadálya, csak még nem értem pontosan, hogy mit akartok csinálni. Mi történjen az első karakter kirajzolása után? S milyen időzítéssel?
A dolgot bonyolítja, ha a multiplexelt kijelzés miatt állandóan frissíteni kell a képet. Én úgy csinálnám, hogy bevezetnék egy 8 bájtos tömböt a pillanatnyi kép tárolására, s ezt bájtonként gyorsan egymás után kinyomnám a LED megfelelő oszlopaiba (for ciklus, 1-től 8-ig, vagy "informatikusabban" 0-tól 7-ig). Egy külső ciklusban ezt megismételném valahányszor (100-szor?). Ezt a kettős ciklust tenném a mostani késleltetések helyére. A karakter kiírásnál pedig nem a portra kell kitenni a karaktert, hanem a fent említett 8 bájtos tömböt kellene eggyel balra pakolni. és az utolsó helyre a karakter táblából kiolvasott bájtot bepakolni. Utána megint késleltetés... akarom mondani kijelzés, és így tovább. Az átírás kulcsa tehát az, hogy a mostani késleltetés helyére ciklikus kijelzés adott számszor ismételve, a portra történő mostani kiírás helyett pedig balra léptetés és egy új pontoszlop beírása kell. A "balra léptetés":
Ahol buf az a 8 bájtos tömb, amiből a kép kijelezhető. A fenti léptetés után buf[7]-be kell írni az új pontoszlopot. A hozzászólás módosítva: Márc 26, 2013
Köszi holnap megpróbálom szia jó éjt
Üdv mindenkinek
Kezdő vagyok ebben a témában segítséget szeretnék kérni. Van egy ilyenem http://uk.mouser.com/new/texasinstruments/ti-ek-lm4f120xl/ szeretném megtanulni programozni de nem találok semmilyen rendes le írást. Illetve milyen program kell hozzá hogy tudjam programozni Win7-ről? Előre is köszönöm a segítséget.
Kirakta a TI az új MSP430g2744,-g2755,-g2855,-g2955 adatlapját. Lehetőség van mintarendelésre, de előtte érdemes belenézni az Errata-ba. Ezenkívül érdemes a "régi g2xxx" adatlapokat is újból letölteni, mert azokat is frissítették, és egy csomó hibát javítottak benne.
Pl. g2x52 2011 augusztusi adatlap= 44.oldal P1.7 = SDI-SPI mode, SDA-SPI mode. a javított adatlapban (2013 feb.), ez már jól szerepel: P1.7 = SDI-SPI mode, SDA-I2C mode. Idézet: Érdemes azt is végiggondolni, hogy a 16 kbájtnál nagyobb memóriát ingyen csak az mspgcc-vel lehet kihasználni! „de előtte érdemes belenézni az Errata-ba.”
Nekem, egyedül csak a max. 16MHz nem tetszik. Igazán emelhettek volna rajta egy kicsit, mondjuk 40-ig.
"Crystal Oscillator LFXT1, High-Frequency Mode
LFXT1 oscillator crystal frequency, fLFXT1,HF0 XTS = 1, LFXT1Sx = 0 1.8 V to 3.6 V 0.4 1 MHz HF mode 0 LFXT1 oscillator crystal frequency, fLFXT1,HF1 XTS = 1, LFXT1Sx = 1 1.8 V to 3.6 V 1 4 MHz"
40 MHz-ig aligha, mert az MSP430 termékcsaládban 25 MHz a plafon. S már ott is megugrik a fogyasztás...
Tudom. Épp most "játszok" egy MSP430f5524-el, amivel az agyhullámokat (EEG) küldöm USB-n a PC-nek, de a méréseknél, számolásoknál kevésnek bizonyul a 25MHz, a fogyasztás meg az "egekbe" szökött. De valamit valamiért. Igaz a projekt még nagyon kezdeti stádiumban van, mert az USB nem akar "normálisan" menni, de az USB-vel is csak most ismerkedem.
Szép napot!
Lenne egy olyan kérdésem, hogy megirtam a programot az MSP430G2 LaunchPad Development meg a mikro vezérlőt csatlakoztattam a géphez és ezt írta ki: Fatal Error[LMS001]: No license found. Use the IAR License Manager to resolve the problem.[LicenseCheck:2.12.4.471, RMS:8.5.0.0021, Feature:430.EW.COMPILER, Version:1.00] Error while running C/C++ Compiler Total number of errors: 1 Total number of warnings: 0 Ez mit jelenthet? A segítséget előre is köszönöm.
A IAR EW fejlesztői környezet ingyenes változatát is regisztrálni kell a gyártó honlapján.
Szép napot!
Valaki tud segíteni, hogy hogy kell ezt a programot regrisztrálni mert 3 szor telepítettem föl és mind a 3 szor ugyan azt az errort írta ki. ezeket a verzíókat telepítettem föl : http://processors.wiki.ti.com/index.php/IAR_Embedded_Workbench_for_...MSP430 slac050 (.zip) innen meg a 30 naposat tettem föl: http://www.iar.com/Service-Center/Downloads/ A segítséget előre is köszönöm.
Nem a telepítéssel van a gond. Amikor elindítod beugrik majd 1 kis ablak ha jól emlékszem ott rákattintasz majd felugrik a böngésződ s ott kell regizned Név-email-ienek.
aztán érkezik 1 kód az e-mailod-ra rákatolsz s kész is. Vagy valami hasonló.
IAR EW elindítása után válaszd ki a Help/License Manager menüpontot (feljön a License Manager ablak, s ez lehet, hogy sokáig spekulál majd).
License Managerben válaszd a License/Get evaluation license menüpontot, s a felbukkanó ablakban kattints a Register gombra. Ekkor feljön a böngészőben a regisztrációs ablak.
Szép estét mindekinek!
Köszönöm az eddigi segítségeket a program frankón működik, de most az égetésnél léptek fől problémák beleégetem a megírt programomat az ic be és azt irja a leírás, hogy a piros lednek kell villogni, de nekem, van a piros ledem mellette egy zöld led és mind 2 fonyamatosan világít. A beállításokat lelellenőriztem minden jó. Mi lehet a baj? A válaszokat előre is köszönöm.
Mielőtt "beégetted" a programot, mit csináltak a ledek?
IAR-ban jól van kiválasztva a MCU? A Debugger-ban, a FET Debugger van beállítva? Jól vannak beállítva a portok a szoftverben? ... Ha csatolnád a kódot, könnyebb lenne a hibakeresés, mert így csak a sötétben lehet tapogatózni.
Szép napot!
"Mielőtt "beégetted" a programot, mit csináltak a ledek?" nem világít eggyik se "A Debugger-ban, a FET Debugger van beállítva?" igen az van beálítva. Miután megcsinálom az égetést mind kettő led világít, és ezt írja ki Messages-be : Configuration is up-to-date. kód: #include "io430.h" void delay(unsigned int delayTime); void main(void) { WDTCTL = WDTPW + WDTHOLD; //Hold the WDT (WatchDog Timer) P1DIR = 0xff; //Set Port 1 (P1) to output. unsigned int i=250; //This is the delay value between each column (found by trial and error) while(1){ P1OUT = 0x00; delay(i); P1OUT = 0xff; // 1. oszlop delay(i); // A késés P1OUT = 0x81; // 2. oszlop delay(i); P1OUT = 0x81; // 3. oszlop delay(i); P1OUT = 0x81; // 4. oszlop delay(i); P1OUT = 0x81; // 5. oszlop delay(i); P1OUT = 0xff; // 6. oszlop delay(i); P1OUT = 0x00; // 7.oszlop delay(i); P1OUT = 0x00; // 8.oszlop delay(i); P1OUT = 0xff; // 9.oszlop delay(i); P1OUT = 0x80; // 10.oszlop delay(i); P1OUT = 0x80; // 11.oszlop delay(i); P1OUT = 0x80; // 12.oszlop delay(i); P1OUT = 0x00; // 13.oszlop delay(i); P1OUT = 0x00; // 12.oszlop delay(i); P1OUT = 0xff; // 12.oszlop delay(i); P1OUT = 0x00; // 12.oszlop delay(i); } } void delay(unsigned int delayTime){ int x; for (x=0;x<delayTime;x++){ x=x*1; } }
Ezzel a programmal, kb. folyamatosan világítanak a ledek.
A "while" ciklust, valahogy így képzeld el: 1: "P1OUT = 0x00;" = minden kimenet alacsony, tehát egyik led sem világít 2: "delay(i);" = várunk 250 uS azaz mikrosecundumot! 3: "P1OUT = 0xff;" = minden kimenet magas, tehát mind a két led világít! Az egyik led a P1.0, a másik a P1.6 kimeneten van. A többi P1OUT = 0x81...+...stb csak felesleges plusz a programban! Az első probléma, a késleltetésben van!
Az "x=x*1;"-nek nem látom értelmét, mert a for ciklus lefutását maximum a szorzás művelet elvégzése késlelteti, de az sem sokkal. Ha tényleg késleltetést szeretnél csinálni, vagy egy Timer-t kellene elindítani, vagy valahogy így kéne megcsinálni a késleltetés függvényt:
Tehát, ha csak az egyik ledet akarod villogtatni, akkor valahogy így kéne kinézzen a programod "while" ciklus része:
Természetesen itt már a fentebb írt kéleltetés függvényt kellene alkalmazni, és így a led ~250 milliSecundum-ig világít. De szerintem nézz bele Icserny fórumtársunk cikkeibe!
Az ajánlott cikket már elolvastam és nem villogtatni szertném a ledet hanem ezt szeretném megcsinálni OLI felirattal.
Most, hogy kiderült miről is van szó, a kód amit csatoltál, szerintem jó. Bár azt még mindig nem értem, hogy milyen piros lednek kell villogni?
Ha nem látsz semmit amikor mozgatod a kütyüt, akkor állíts az időzítésen, vagy mozgasd gyorsabban, vagy lassabban.
Rendeltem pár alkatrészt a TI-tő, és gondoltam kipróbálom a G2955-öst, ezért abból is kértem kettőt.
Érdekel az "UART mode with automatic baud rate detection" üzemmód, ezért összeállítottam egy kis programot, hogy kipróbáljam, de támadt egy "kis" problémám. Se az IAR se a CCS nem támogatja "még" ezt a típust. Mivel tudnám felprogramozni? |
Bejelentkezés
Hirdetés |