STM32f4 a I2C
Jan Waclawek
konfera na efton.sk
Úterý Červenec 14 08:35:13 CEST 2015
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 at lit.cz>
Date: Tue, 14 Jul 2015 08:11:37 +0200
To: HW-news <hw-list at 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.
>
>
Další informace o konferenci Hw-list