EasyManuals Logo

ST STM32F446 Series User Manual

ST STM32F446 Series
1328 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #765 background imageLoading...
Page #765 background image
RM0390 Rev 4 765/1328
RM0390 Inter-integrated circuit (I
2
C) interface
793
Figure 275. Transfer sequence diagram for slave receiver
1. The EV1 event stretches SCL low until the end of the corresponding software sequence.
2. The EV2 event stretches SCL low if the software sequence is not completed before the end of the next byte
reception.
3. After checking the SR1 register content, the user should perform the complete clearing sequence for each
flag found set.
Thus, for ADDR and STOPF flags, the following sequence is required inside the I2C interrupt routine:
READ SR1
if (ADDR == 1) {READ SR1; READ SR2}
if (STOPF == 1) {READ SR1; WRITE CR1}
The purpose is to make sure that both ADDR and STOPF flags are cleared if both are found set.
Closing slave communication
After the last data byte is transferred a Stop Condition is generated by the master. The
interface detects this condition and sets:
The STOPF bit and generates an interrupt if the ITEVFEN bit is set.
The STOPF bit is cleared by a read of the SR1 register followed by a write to the CR1
register (see Figure 275: Transfer sequence diagram for slave receiver EV4).
24.3.3 I
2
C master mode
In Master mode, the I
2
C interface initiates a data transfer and generates the clock signal. A
serial data transfer always begins with a Start condition and ends with a Stop condition.
Master mode is selected as soon as the Start condition is generated on the bus with a
START bit.
The following is the required sequence in master mode.
Program the peripheral input clock in I2C_CR2 Register in order to generate correct
timings
Configure the clock control registers
Configure the rise time register
Program the I2C_CR1 register to enable the peripheral
Set the START bit in the I2C_CR1 register to generate a Start condition
The peripheral input clock frequency must be at least:
2 MHz in Sm mode
4 MHz in Fm mode
ELWVODYHUHFHLYHU
ELWVODY HUHFHLYHU
/HJHQG 6 6WDUW6
U
5HSHDWHG6WDUW3 6WRS$ $FNQRZOHGJH
(9[ (YHQWZLWKLQWHUUXSWLI,7(9)(1 
(9$''5 FOHDUHGE\UHDGLQJ65IROORZHGE\UHDGLQJ65
(95[1( FOHDUHGE\UHDGLQJ'5UHJLVWHU
(96723) FOHDUHGE\UHDGLQJ65UHJLVWHUIROORZHGE\ZULWLQJWRWKH&5UHJLVWHU
$
'DWD $

'DWD1 $
3
$$

'DWD1
DL9
6 $GGUHVV 'DWD $
(9 (9 (9
(9
(9
(9 (9
$
3
(9
'DWD$GGUHVV
$
6
+HDGHU

Table of Contents

Other manuals for ST STM32F446 Series

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the ST STM32F446 Series and is the answer not in the manual?

ST STM32F446 Series Specifications

General IconGeneral
BrandST
ModelSTM32F446 Series
CategoryMicrocontrollers
LanguageEnglish

Related product manuals