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