|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
dumr666 Član
Pridružen-a: Tor 31 Jan 2012 23:30 Prispevkov: 409 Aktiv.: 2.75 Kraj: Ljubljana
|
Objavljeno: Tor Nov 12, 2013 7:32 pm Naslov sporočila: |
|
|
sori kristalna kugla na servisu.
napiši kaj ti vrne
|
|
Nazaj na vrh |
|
|
fruc Neznanec
Pridružen-a: Čet 03 Apr 2008 19:55 Prispevkov: 7 Aktiv.: 0.04 Kraj: Vipava
|
Objavljeno: Tor Nov 26, 2013 12:32 pm Naslov sporočila: |
|
|
Kupi kdo Š-ARM-a?
odgovori na ZS...
|
|
Nazaj na vrh |
|
|
vmalhar Član
Pridružen-a: Pet 06 Jul 2007 11:23 Prispevkov: 170 Aktiv.: 0.83 Kraj: Logatec
|
Objavljeno: Tor Feb 04, 2014 2:50 am Naslov sporočila: |
|
|
Prvič sem bolj podrobno pogledal kodo za inicializacijo, izpis,... za LCD od profesor Puhana, ki smo jo uporabljali na vajah in bi jo uporabil na enem projektu, pa imam nekaj vprašanj. LCD je 2x16 znakov se mi zdi.
Koda: |
void lcd_init()
{
int match[4] = {0, 0, 0, 0};
timer1_init(0, match, mr0s, timer);
set_pin_direction(0, RS | RW | E | DB7 | DB6 | DB5 | DB4);
IO0CLR = E;
wait(40000); // počaka toliko ciklov timerja 1MHz
lcd_write_half_comm(SET | BITS_8); // nastavi 8-bitni priklop
wait(4100);
lcd_write_half_comm(SET | BITS_8);
wait(100);
lcd_write_half_comm(SET | BITS_8);
busy();
lcd_write_half_comm(SET | BITS_4); // nastavi 4-bitni priklop
busy(); // počaka da mine "busy" LCD stanje
lcd_write_comm(SET | BITS_4 | LINES_2 | DOTS_5_8);
lcd_write_comm(CONTROL | DISPLAY_OFF | CURSOR_OFF | BLINK_OFF);
lcd_write_comm(CLEAR_DISPLAY);
lcd_write_comm(MODE | CURSOR_DIRECTION_RIGHT | DISPLAY_SHIFT_OFF);
lcd_write_comm(CONTROL | DISPLAY_ON | CURSOR_OFF | BLINK_OFF);
} |
Podatkovni port za LCD na Š-armu je 4-bitni (DB4, 5, 6, 7). Zakaj najprej 3x nastavi 8-bitno naslavljanje, šele potem 4-bitno in zakaj tisti wait-i vmes in kako je definiral dolžino čakanja?
Koda: |
void busy()
{
int busy_flag;
IO0DIR = IO0DIR & ~(DB7 | DB6 | DB5 | DB4);
IO0CLR = RS;
IO0SET = RW;
do
{
wait(1);
IO0SET = E;
wait(1);
busy_flag = IO0PIN & DB7;
IO0CLR = E;
wait(1);
IO0SET = E;
wait(1);
IO0CLR = E;
} while(busy_flag);
IO0DIR = IO0DIR | DB7 | DB6 | DB5 | DB4;
} |
Zakaj dvakrat postavi in pobriše "enable" pin? In zakaj vmes čaka in kako je dobil koliko časa čakat?
Evo še koda čakanja:
Koda: |
// Wait function
// delay ... wait time in us
void wait(int delay)
{
int div = 4;
if(VPBDIV) div = VPBDIV;
T1TCR = counter_reset;
T1MR0 = 12 * delay * ((PLLSTAT & msel) + 1) / div;
T1TCR = counter_enable;
while(T1TC < T1MR0);
} |
|
|
Nazaj na vrh |
|
|
vmalhar Član
Pridružen-a: Pet 06 Jul 2007 11:23 Prispevkov: 170 Aktiv.: 0.83 Kraj: Logatec
|
Objavljeno: Tor Feb 04, 2014 6:31 pm Naslov sporočila: |
|
|
Sem še malo raziskoval in našel v datasheet-u od LCD-ja, da je pri prenašanju podatkov na LCD po 4-bitnem portu potrebno podatke prenesti 2x (stran 13 pod Function set).
Ali preprosto pošlješ najprej zgornje 4 bite in takoj zatem še spodnje (če se ne motim, je treba počakati tiste 38 s), pa krmilnik od LCD-ja to sam pravilno razporedi, ali je treba kako drugače?
Ali zato v zgornji kodi dvakrat ponavlja prenos na LCD? Ampak obakrat pošlje isti ukaz, ne najprej zgornje in potem spodnje bite.
Upam, da bo kdo znal razvozlati tole. Ali imate kake čisto drugačne inicializacijske rutine za tak LCD? Najbrž ste jih sami napisali...
|
|
Nazaj na vrh |
|
|
vmalhar Član
Pridružen-a: Pet 06 Jul 2007 11:23 Prispevkov: 170 Aktiv.: 0.83 Kraj: Logatec
|
Objavljeno: Pon Mar 31, 2014 11:49 pm Naslov sporočila: |
|
|
Odgovarjam sam sebi, mogoče pride kdaj komu prav.
Inicializacijska rutina je lepo opisana v datasheet-u. Tam se lepo vidi, kakšni ukazi se pošljejo, zaporedje, pavze vmes,...
|
|
Nazaj na vrh |
|
|
pyrocard Neznanec
Pridružen-a: Čet 17 Jul 2014 17:17 Prispevkov: 1 Aktiv.: 0.01
|
Objavljeno: Čet Jul 17, 2014 5:22 pm Naslov sporočila: |
|
|
pozdrvljeni, osebno sem bolj novinec kar se tiče Šarma, zanime me pa naslednje, na raznih shemah ploščice sem videl, da je možno od nje dobiti 2.5, 3 oziroma 5 V. Za 3 V napajanje vem kje je, ne najdem pa drugih dveh nivojev. Trenutno bi najbolj rabil nek 5V izhod, saj naprava katero krmilim na 3V signalu ne naredi nič.
hvala za kakršen koli odgovor,
Jan
|
|
Nazaj na vrh |
|
|
S53DZ Član
Pridružen-a: Čet 28 Apr 2011 9:27 Prispevkov: 951 Aktiv.: 6.02 Kraj: Ljubljana
|
Objavljeno: Tor Jul 29, 2014 7:24 pm Naslov sporočila: |
|
|
Ker opažam, da je kar precej Š-ARM-ov nekje na policah, sem se lotil in ga uporabil na zame bolj običajen način.
To je, zaradi avtonomnosti delovanja, brez WinIdea na PC.
Torej, priklopil sem zunanje napajanje +3V3 in +5V ter programiral z bootloaderjem preko UART0.
Za povezavo sem uporabil USB/UART vmesnik, ki ga je uporabil VolkD pri napajalniku 5.
Z obveznim dodatkom manjkajoče povezave VccIO na 3V3out!
Tako sem za test naredil utripanje LED in prikaz besedila na LCD. Poleg tega zapiše besedilo tudi na UART1.
In s tem pridobil dodatni ARM7 LPC2138 proto-board za lab.
Uporabljam Eclipse/CDT, gnuarm, gcc, make in flashmagic.
Mimogrede, taka plošča, čeprav je velika, bi bila uporabna tudi za moj RF generator, saj ima vse pine zunaj na "header-jih".
Morda bi ga rad na ta način uporabil še kdo drug?
Dodano: slika priključitve
Opis: |
Uporaba Š-ARM-a kot laboratorijske demo plošče. |
|
Velikost datoteke: |
74.62 KB |
Pogledana: |
7 krat |
|
Opis: |
Uporaba Š-ARM-a za prikaz spektra FFT SA 0-75kHz, 96dB dinamike na LCD DEM128064 |
|
Velikost datoteke: |
55.47 KB |
Pogledana: |
0 krat |
|
|
|
Nazaj na vrh |
|
|
4AllDemolition Član
Pridružen-a: Tor 08 Maj 2007 15:35 Prispevkov: 162 Aktiv.: 0.78 Kraj: Orlek pri Sežani
|
Objavljeno: Pon Avg 17, 2015 12:40 pm Naslov sporočila: |
|
|
Pozdravljeni
Pod roke sem dobil omenjeno plato, zna kdo tole usposobit ?
Imam verzijo winIDEA Build 9.12.241 (49583) 10.6.2015
--------------- Standard ERROR from linking. ---------------
c:\isystem\winidea9\gcc\bin\..\lib\gcc\arm-elf\4.0.1\..\..\..\..\arm-elf\bin\ld.exe: cannot find -lnosys
Linking ... with parameters "C:\iSYSTEM\winIDEA9\gcc\bin\arm-elf-gcc.exe -nostartfiles -mlittle-endian -mcpu=arm7tdmi -Xlinker --output=output.elf -Xlinker -Map=sample.map -Xlinker --script=C:\Users\yxz\Documents\Winidea\My_ARM_LPC2138\vaja_empty_mini_board\___Lnk.ind -Xlinker -lc -lnosys -mthumb -mthumb-interwork -Xlinker -n"
c:\isystem\winidea9\gcc\bin\..\lib\gcc\arm-elf\4.0.1\..\..\..\..\arm-elf\bin\ld.exe: W: cannot find -lnosys
Ve kdo rešitev?
|
|
Nazaj na vrh |
|
|
4AllDemolition Član
Pridružen-a: Tor 08 Maj 2007 15:35 Prispevkov: 162 Aktiv.: 0.78 Kraj: Orlek pri Sežani
|
|
Nazaj na vrh |
|
|
zaz Član
Pridružen-a: Pon 06 Apr 2015 14:23 Prispevkov: 89 Aktiv.: 0.81 Kraj: Ljubljana
|
Objavljeno: Tor Feb 02, 2016 7:36 pm Naslov sporočila: |
|
|
Pozdravljeni,
zanima me kako se pravilno namesti gonilnike za plato na Windows7. Ko hočem driverje ročno naložit v device manager-ju, mi javlja, da jih v mapi ni.
lp
|
|
Nazaj na vrh |
|
|
MatZ91 Neznanec
Pridružen-a: Pon 02 Apr 2018 19:14 Prispevkov: 1 Aktiv.: 0.01
|
Objavljeno: Pon Apr 02, 2018 7:36 pm Naslov sporočila: |
|
|
Pozdravljeni,
pred kratkim sem se odločil oživeti modul z mikrokrmilnikom LPC2138 (Š-ARM). Prenesel sem si programsko orodje winIDEA Open 9.12.288 in z njim naložil program za utripanje led diode. Vse je šlo brez problema. Nato sem naredil spremembo v programu (zakomentiral vrstico v kateri se dioda ugasne) in ga prevedel (Project->Make). Tu se mi je pojavila naslednja napaka.
//-------------------------------------------------
Compiling ...
main.c ... with parameters "X:\GCC\4_2_2\arm\bin\arm-elf-gcc.exe -mcpu=arm7tdmi -mthumb -mthumb-interwork -g -o D:\Test\Debug\main.o -c D:\Test\main.c"
Error [PM17]: Output file "D:\Test\Debug\main.o" was not generated.
0 Error(s) 0 Warning(s)
Process terminated.
//-------------------------------------------------
Bi mogoče kdo vedel v čem je problem?
|
|
Nazaj na vrh |
|
|
vmalhar Član
Pridružen-a: Pet 06 Jul 2007 11:23 Prispevkov: 170 Aktiv.: 0.83 Kraj: Logatec
|
Objavljeno: Ned Sep 29, 2019 1:10 pm Naslov sporočila: |
|
|
Pospravljam po omari in sem našel dve tile razvojni ploščici, od katerih vsaj ena, mogoče pa celo obe, deluje.
Če komu pride prav, jih z veseljem podarim.
Lp, Miha
|
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 70 dni
Powered by phpBB © 2001, 2005 phpBB Group
|