[elektro] ARM STM32F100 GPIO 8bites kétirányú használata.
hg12345
hg12345 at freemail.hu
Fri Jul 31 08:21:35 CEST 2015
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]
More information about the Elektro
mailing list