[elektro] ARM STM32F100 GPIO 8bites kétirányú használata.
elight
elight at gmail.hu
Fri Jul 31 10:32:18 CEST 2015
Köszi,
ennyire még nem mélyedtem el,
de meg fogom nézni.
Makróval egyenlőre nem jött össze,
ezért a vázolt módon írtam egy rövidke függvényt.
Mono 128x64 kijelző,
és egy másik procon már régóta jól működő
függvénytárat portolok át.. De az 8bit regiszteres proci volt.
Olvasni a status bitet olvasom. De ez nem annyira gond.
Üdv István
2015-07-31 08:21 keltezéssel, hg12345 írta:
> Kérdés lehet e byte-onként címezni a periférai illesztő mezőt, (erre nem emlékszem), de nem nehéz kipróbálni.(szerintem müködhet, mert a DMA byte-s elérésre is programozható....#define LCD_DATA_OUT ((uint8_t*) &GPI_ODR)[1] ha működik, akkor is ez egy nem hordozható megoldás :-(hasonlóan az in is működhet Általában a stm32f10x.h végén vannak makrók, pl.: #define MODIFY_REG(REG, CLEARMASK, SETMASK) WRITE_REG((REG), (((READ_REG(REG)) & (~(CLEARMASK))) | (SETMASK))) Amúgy ha nem akarsz maszkolást akkor még használhatod a SET/ RSET peridéria regiszterek... Milyen LCD-t használsz, hogy vissza kell olvasni a tartalmat?
> elight <elight at gmail.hu> írta:
>> Sziasztok.
>>
>> Hogyan szokták ezt egyszerűen.
>>
>> Bitenként nézve sokat kellene billegetni.
>>
>> Van ilyen mód?
>> Vagy folyamatosan maszkolni és irányt váltogatni szükséges?
>>
>> Az a gondom, ha pl. def-elem a felső 8 bitre
>>
>> #define LCD_DATA_OUT Hi(GPIO_ODR)
>> #define LCD_DATA_IN Hi(GPIO_IDR)
>>
>>
>> a kimenet használatakor az alsó bitek is változnak időnként..
>>
>> LCD_DATA_OUT = 0xBE;
>>
>> tehát arra jutnék , word változóba kell tenni és maszkolni kellene talán.
>>
>> De még keresgélem , hogy egyáltalán jó irányban tapogattam a hibát?
>> De ez a gyanus. Maga az LCD működik, de más out bit is billen alsó
>> byte-ban,
>> aminek nem lenne szabad
>> Üdv István
>>
>> -----------------------------------------
>> elektro[-flame|-etc]
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list