[elektro] STM32F Flash memory inicializáslása.
uprogc .
uprogc at gmail.com
Fri Jun 12 19:26:38 CEST 2015
32F4, C M4
Szabi
2015-06-12 19:51 GMT+03:00 hg12345 <hg12345 at freemail.hu>:
> Attól függ melyik STM-t haswználod, a CORTEX M4-re gyárilag megírták csak
> paraméterezni kell.Az STM32F373 -re keress rá ott megtalálod a library-t
> Szerintem ha egy kicsit keresem az ST honlapján akkor a M3 és M0 magokra is
> találsz.A kivánt sebességtől is függ, milyen sebességű adatot akarsz szűrni.
> elight <elight at gmail.hu> írta:
> >Ez itt lehet hogy neked is lerágott csont, de azért..
> >
> >http://users.ece.utexas.edu/~valvano/EE345M/UM0585.pdf
> >
> >és én ha használnám, akkor ezt az anyagot tekinthetném referenciának..
> >
> >http://www.mikroe.com/chapters/view/73/chapter-3-iir-filters/
> >
> >Le kell tölteni a számoló programot ,
> >és van valahol a neten online számolási lehetőseg is..
> >
> >Üdv István
> >
> >2015-06-12 18:24 keltezéssel, uprogc . írta:
> >> Szia,
> >>
> >> Koszi az infot.
> >> A szurot meg tudom ( tudtam;) ) tervezni, implementalni nem tudtam az
> adott
> >> DSP fugvenyekkel,
> >>
> >>
> >> U,
> >> Szabi
> >>
> >> 2015-06-12 19:22 GMT+03:00 elight <elight at gmail.hu>:
> >>
> >>> Szia
> >>>
> >>>
> >>> Még nem foglalkoztam ilyesmivel,
> >>> ha kellett inkább betettem egy komplett digitszűrő chip-et.
> >>> Azért régebben ezt az anyagot megnézegettem...
> >>>
> >>>
> http://dsp.mit.bme.hu/userfiles/szakdolgozat/stolczenbergerszakdolgozat09.pdf
> >>> de úgy döntöttem, nem lehet mindenbe belekapni
> >>> egy kis sávszűrésért.. :-)
> >>>
> >>> Üdv István
> >>>
> >>>
> >>> 2015-06-12 18:14 keltezéssel, uprogc . írta:
> >>>> Valaki nem tudja, hogy IIR szurot hogy tudok implementalni STM32-re ?
> >>>> Egy pelda kellene arra, hogy ha Matlabban kigeneralom a szurot utanna
> >>> hogy
> >>>> lehet implementalni.
> >>>> Tavaly probalkoztam, es emlekszem hogy a DSP lib-ben levo fuggvenyek
> es a
> >>>> Matlab altal generalt szuro sehogy sem volt osszeegyeztetheto. Valamit
> >>>> general pluszba a Matlab (nem vagyok IIRben abszolute jartas)
> >>>> FIRnel simman ment minden.
> >>>>
> >>>> Szabi
> >>>>
> >>>> 2015-06-12 19:09 GMT+03:00 uprogc . <uprogc at gmail.com>:
> >>>>
> >>>>> 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]
> >>>>>>
> >>>> -----------------------------------------
> >>>> elektro[-flame|-etc]
> >>> -----------------------------------------
> >>> elektro[-flame|-etc]
> >>>
> >> -----------------------------------------
> >> elektro[-flame|-etc]
> >
> >-----------------------------------------
> > elektro[-flame|-etc]
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list