STM32f4 a I2C

Roman Vostřel vostrel na lit.cz
Úterý Červenec 14 09:20:07 CEST 2015


Učím se používat Visual TFT od Mikroelektroniky a ta má svůj překladač. 
Mají tam nějaké knihovny pro komunikaci,nepoužívají přerušení a zaseknou 
celý program, pokud slave blbě odpoví. Tudy cesta nevede.

Podíval jsem se do výsledného kodu a i když instrukce Armu zatím neznám 
(skončil jsem u 51), bylo jasné že to čtení tam není. Pokud registr 
načtu do lokální proměnné,se kterou se dál nepracuje, tak to překladač 
ignoruje. Už to konečně chodí.

Tři dny hledám, kde je chyba a taková blbost. Jdu se učit instrukce 
Armu, vidím že to bez toho nejde. Překladač má někdy svou hlavu.


Dne 14.7.2015 v 8:35 Jan Waclawek napsal(a):
>   ADDR: Address sent (master mode)/matched (slave mode)
> This bit is cleared by software reading SR1 register followed reading SR2,
> or by hardware
> when PE=0
>
> Co je u Vas i2c1_sr2?
>
> Mimochodom, preco nepouzivate standardne definicie z stm32f4xxx.h?
>
> wek
>
>
> ----- Original Message ---------------
>
> Subject: STM32f4 a I2C
>     From: =?ISO-8859-2?Q?Roman_Vost=F8el?= <vostrel na lit.cz>
>     Date: Tue, 14 Jul 2015 08:11:37 +0200
>       To: HW-news <hw-list na list.hw.cz>
>
>> Zase jeden dotaz k STM32F4. Sna¾ím se odeslat nìco pøes I2c s vyu¾itím
>> pøeru¹ení. Ode¹le mì to start, adresu,dostane ACK a zasekne se to pøi
>> odeslání prvního byte. Nìjak ¹patnì nuluji pøíznak ADDR.
>> Zatím tam mát tohle:
>>
>> zaèátek pøeru¹ení
>>
>> SR1=I2C1_SR1;
>>
>> if (SR1.b1==1)
>>        {
>>
>>          //test1=i2c1_sr1; (zkou¹el jsem obì varianty)
>>          test2=i2c1_sr2;
>>          testi1++;
>>        }
>>
>>
>> 1) po¹lu start
>> 2) èeká na SB, pak zapí¹u do DR adresu
>> 3) vrátí se ADDR + TxE, to je ta rutina vý¹e
>>   -poznámka: pokud to tady stopnu a znovu rojedu debuggerem,  tak se
>> addr sám vynuluje a ode¹le zbytek dat jak má.
>> 4) pak obslou¾ím TxE, tam zapí¹i do DR èíslo, tím vynuliji TxE
>> 5) dál u¾ nic,data se neode¹lou a zacyklí se to na nevynulovaném bitu 1,
>> tj. ADDR
>>
>> Jak tedy správnì vynulovat ADDR? nìkde dìlám chybu.
>>
>>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>



Další informace o konferenci Hw-list