[elektro] STM32F Flash memory inicializáslása.
uprogc .
uprogc at gmail.com
Fri Jun 12 18:09:39 CEST 2015
Szia,
Koszi, a tobbi nem elekadas, felepitettem egy teljes SDR radiot mar erre a
procira, csak akkor nem volt szukseg 8 bitet egyszerre kiirni a portra
es a BSRRx
regiszter irasokat hasznalta., Most bejott egy grafikus kijelzo,, es azt
hittem mas port iras lehetoseg nincs.
Szabi
2015-06-12 19:00 GMT+03:00 elight <elight at gmail.hu>:
> Igen, meg..
>
> IDR - input
>
> ODR - output regiszrer
>
> és ne felejsd s Periféria Clock regiszterében az órajelet is engedélyezni
> mert anélkül a periféria alszik..
>
> És bizonyos típusoknál létezik még egy bit-bang-nak nevezett bittáblás
> elérési mód is.
>
> Azonkívül bekapcsolhatsz a portlábakra kiterjesztett módokat ,
> UART , SPI stb. kezeléshez.. Van erről valahol egy kis
> magyar nyelvű fejtágító is..
>
> és ez a anyag is hasznos lehet kezdéshez ,
>
> http://hg8lhs.ham.hu/publications/Diploma.pdf
>
> ha még nem ismernéd..
>
> Üdv István
>
>
>
> 2015-06-11 13:24 keltezéssel, uprogc . írta:
> > Megtalaltam:
> >
> > void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal)
> > {
> > /* Check the parameters */
> > assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
> >
> > GPIOx->ODR = PortVal;
> > }
> >
> > Tehat hasznalhato akar : GPIOx->ODR = PortVal;
> >
> >
> > Szabi
> >
> > 2015-06-11 14:05 GMT+03:00 uprogc . <uprogc at gmail.com>:
> >
> >> Sziasztok,
> >>
> >> Nekem is lenne egy STM32 kerdesem.
> >>
> >> AVRnel megszoktuk, hogy a portra siman kiirjuk az adatot, az megjelenik
> a
> >> kimeneten.
> >> STM32-nel mindehez ket regiszterre van szukseg:
> >>
> >> GPIOD->BSRRH = GPIO_Pin_13 Low szint;
> >> GPIOD->BSRRL = GPIO_Pin_13; High szint
> >>
> >> Hogy tudom parhuzamos portkent a legegyszerubben hasznalni az adott
> portot
> >> ? (LCD vezerles)
> >>
> >>
> >> U,
> >> Szabi
> >>
> >> 2015-06-10 16:13 GMT+03:00 elight <elight at gmail.hu>:
> >>
> >>> Megvigasz....
> >>>
> >>> de megvan a vigasz.. :-)
> >>>
> >>> unsigned char FLASH_Mem_Inited = 0;
> >>>
> >>>
> >>>
> >>> valahol a main elején
> >>> Error = EEprom_Table_Read ( kezdőcím, hossz ); // olvasom a táblát
> >>> egy EE_Thumb memóriaváltozóba
> >>>
> >>> if ( ! ( EE_Thumb[ TEST_AA ] == 0xAA ) && (EE_Thumb[ TEST_55 ] ==
> 0x55
> >>> ))
> >>> {
> >>> // Ha a pattern nem található az EEprom területen
> ...
> >>>
> >>> EEprom_Table_Init ( kezdőcím, hossz ); //
> Belevarrja
> >>> a területbe a patternt és a kezdő adatokat.
> >>> FLASH_Mem_Inited = 1;
> >>> }
> >>>
> >>> És a nyitóképernyőn is kiírom ha initelt , hogy lássam
> >>>
> >>> if( FLASH_Mem_Inited == 0 )
> >>> {
> >>> Print_Status_LCD("FLASH_Read_Ok" );
> >>> }
> >>> else
> >>> {
> >>> Print_Status_LCD("FLASH_Init !!!" );
> >>> }
> >>>
> >>>
> >>> a többi már pöröghet szokásosan..
> >>> Az előbb teszteltem éppen, szépen lefutotta az esteket..
> >>>
> >>>
> >>> Az zavart be, PIC-nél ezeket az adatokat direkt beleírhattam az égető
> >>> EEprom táblájába,
> >>> itt pedig a FLASH-ba kell bele juttatni, és ahhoz kell a FLASH kezelő
> >>> függvénye..
> >>> Legalább is egyenlőre direkt nem értem el , hogy a fordító tegye bele
> >>> nekem.
> >>>
> >>> Üdv István
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> 2015-06-10 14:55 keltezéssel, hg12345 írta:
> >>>> Hi a tömbnek érteket lehet adni induláskor, akkor nem ZI-n
> >>> tárolja.uint8_t tomb[100]={ 1,2,3,4....};az az érték RAM-ban lesz
> tárolva,
> >>> nem a FLASH területen. ha eléírsz "const" akkor a tömböt a flash
> területre
> >>> teszi, de ennek az írását nem engedi a fordító.const uint8_t
> tomb[100]={
> >>> 1,2,3,4....};Ha egy ugyan ilyen pointert definiálsz a const helyet
> >>> használhtsz __attributre__ megadott kezdőcimet is...) uint8_t *ptomb=
> >>> (uint8_t*) tomb ;és utána már használhatód ptomb[xx] hivatkozással
> ezért
> >>> már nem kiabál a fordító de írni nagy valószínűséggel nem fogod tudni
> :-)
> >>>> elight <elight at gmail.hu> írta:
> >>>>> Sziasztok.
> >>>>>
> >>>>> Egy EEprom emulációt készítettem a FLASH memoria területére.
> >>>>>
> >>>>> A fordítónak hogyan adhatom meg , hogy ez
> >>>>> egy tömb, aminek kezdeti értéke van,
> >>>>> és a függvényeim induláskor ezeket módosíthatják vagy olvashatják
> majd.
> >>>>>
> >>>>> Olyasmire gondolok, hogy a PIC-nél volt az égetőben egy EE_prom
> >>>>> terület, amit kézzel beírtam, és égetés után azokkal
> >>>>> a beállítási paraméterekkel indult a program.
> >>>>> Mert most elsőre innen szemetet vagy 00 hoz le sajnos.
> >>>>>
> >>>>> Üdv István
> >>>>>
> >>>>> -----------------------------------------
> >>>>> elektro[-flame|-etc]
> >>>> -----------------------------------------
> >>>> elektro[-flame|-etc]
> >>> -----------------------------------------
> >>> elektro[-flame|-etc]
> >>
> >>
> > -----------------------------------------
> > elektro[-flame|-etc]
>
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list