[elektro] STM32F Flash memory inicializáslása.
uprogc .
uprogc at gmail.com
Thu Jun 11 13:05:11 CEST 2015
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]
More information about the Elektro
mailing list