| 数据搜索系统,热门电子元器件搜索 |
|
STM8L151C8 数据表(PDF) 13 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
STM8L151C8 数据表(HTML) 13 Page - STMicroelectronics |
|
13 / 18 page ![]() DocID17922 Rev 6 13/18 STM8AL3xxx STM8L052R8 STM8L1xxx6/8 Silicon limitations 17 Corrupted last received data in I2C Master Receiver mode Conditions In Master Receiver mode, when the communication is closed using method 2, the content of the last read data may be corrupted. The following two sequences are concerned by the limitation: Sequence 1: transfer sequence for master receiver when N 2 a) BTF = 1 (Data N-1 in DR and Data N in shift register) b) Program STOP = 1 c) Read DR twice (Read Data N-1 and Data N) just after programming the STOP bit. Sequence 2: transfer sequence for master receiver when N 2 a) BTF = 1 (Data N-2 in DR and Data N-1 in shift register) b) Program ACK = 0 c) Read Data N-2 in DR d) Program STOP bit to 1 e) Read Data N-1. Description The content of the shift register (data N) is corrupted (data N is shifted 1 bit to the left) if the user software is not able to read the data N-1 before the STOP condition is generated on the bus. In this case, reading data N returns a wrong value. Workaround 1 – Sequence 1 When sequence 1 is used to close communication using method 2, mask all active interrupts between STOP bit programming and Read data N-1. – Sequence 2 When sequence 2 is used to close communication using method 2, mask all active interrupts between Read data N-2, STOP bit programming and Read data N-1. Workaround 2 Manage I2C RxNE and TxE events with DMA or interrupts of the highest priority level, so that the condition BTF = 1 never occurs. Wrong behavior of the I2C peripheral in Master mode after misplaced STOP Description The I2C peripheral does not enter Master mode properly if a misplaced STOP is generated on the bus. This can happen in the following conditions: If a void message is received (START condition immediately followed by a STOP): the BERR (bus error) flag is not set, and the I2C peripheral is not able to send a START condition on the bus after writing to the START bit in the I2C_CR2 register. In the other cases of a misplaced STOP, the BERR flag is set in the IC2_CR2 register. If the START bit is already set in I2C_CR2, the START condition is not correctly generated on the bus and can create bus errors. |
|
|
链接网址 |
| ALLDATASHEET是否为您带来帮助? [ DONATE ] |
关于 Alldatasheet | 广告服务 | 联系我们 | 隐私政策 | 数据表链接 | 链接交换 | 制造商名单 All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |