STM32L152RB problem s interruptom na I2C

Miroslav Mraz mraz na seznam.cz
Čtvrtek Září 12 09:51:36 CEST 2013


V poslední době už tak nějak podobné chybičky neřeším. Ten hardware je 
dost složitý a poznat, zda je to vlastnost nebo chyba není sranda. 
Prostě přerušení přijde, flag není nastaven, tak se zahodí. Procesor má 
výkonu dost, tak co. Fakt je, že pokud k tomu podobně přistupují i 
výrobci těch procesorů, tak to potěš pán bůh.

Mrazík
> Jan Waclawek  wrote / napísal(a):
>> A nie je to ten klasicky problem, ze instrukcia odstranujuca pricinu
>> prerusenia je prilis blizko koncu prerusovacej rutiny, takze sa vdaka
>> oneskoreniam pri zapisoch a medzi periferiou a vstupom NVIC stihne
>> vyvolat este jedno prerusenie pocas odchodu z toho "skutocneho"?
>>
>> wek
>>
>>
>> On Wed, 11 Sep 2013 21:16:07 +0200
>> Stano <stano.hw na gmail.com> wrote:
>>
>>> Zdravim konferenci
>>> Pisem si vlastnu kniznicu pre I2C vyuzivajucu interrupt na
>>> STM32L152RC. Program funguje viacmenej podla ocakavania. Teda vsetko
>>> je presne ako som ocakaval podla datasheetu az na posledne
>>> prerusenie pri vysielani. Poslednym IRQ by malo byt EV8_2 (Figure
>>> 210. Transfer sequence diagram for master transmitter). Ale po tomto
>>> nastava presne po odoslani stop condition este jedno prerusenie. Ked
>>> program stepujem v debuggeri nenastane ale ak dam RUN tak ano.
>>> Zvlastne je to tym ze nieje nastaveny ziaden flag ktory moze I2C
>>> EVENT vyvolat (SB, ADDR, AD10, STOPF, BTF, TXE, RXNE). Posledne 2 by
>>> sa dokonca vobec nemali uplatnovat kedze ITBUFEN je tiez 0.
>>> DMA zatial nepouzivam.
>>> Ak povolim ITBUFEN dany interrupt NENASTANE.
>>> Prerusenia sledujem pomocou GPIO a LA, jadro a zbernice bezia na
>>> 32MHz. Ked SYSCLK podtaktujem (rychlost I2C zostava 400kHz) dane
>>> prerusenie zmizne. Stretol sa s tym niekto?
>>> V principe mi ten IRQ nevadi, len chcem vediet co sa zanim skryva a
>>> hlavne ako mohol nastat ked nieje aktivny ziaden z flagov ktore ho
>>> mozu vyvolat.
>>>
>>> Vopred dakujem za odpovede
>>> Stano
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>

On 09/11/2013 11:41 PM, Stano wrote:
> Je to mozne aj ked ten delay potrebny aby to nenastalo je pomerne
> velky, cca 1.9us. A v inych pripadoch k zdvojeniu prerusenia nedochadza.
> Ale k tomu co spominate mate nejake blizsie info nespominam si ze by
> som to v nejakej dokumentacii videl. Prosim, kde hladat blizsie
> informacie?
>
> Stano
>



Další informace o konferenci Hw-list