[elektro] STM32F Flash memory inicializáslása.
hg12345
hg12345 at freemail.hu
Fri Jun 12 18:51:10 CEST 2015
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]
More information about the Elektro
mailing list