你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器。关注该话题即可发布文章!
RE:STM32 I2C 硬件中断方式实现方法,带流程图
回复:STM32 I2C 硬件中断方式实现方法,带流程图
回复:STM32 I2C 硬件中断方式实现方法,带流程图
! H! n! u1 i" m- v' C" c
/* Read the I2C1 status register */
SR1Register = I2C1->SR1; H5 w9 R) E% E& c
/* If AF = 1 */
if ((SR1Register & 0x0400) == 0x0400)
{
I2C1->SR1 &= 0xFBFF;+ Y* Z/ j2 g# q) H1 t
SR1Register = 0;
}3 m% [5 e2 w- D# |( \
/* If ARLO = 1 */
if ((SR1Register & 0x0200) == 0x0200)4 ^, l, y7 z/ T3 Z: H
{
I2C1->SR1 &= 0xFBFF;
SR1Register = 0;
}. [$ s1 ~. p2 l: M$ }# n
/* If BERR = 1 */
if ((SR1Register & 0x0100) == 0x0100); l0 l" K9 |# ?5 j% o
{
I2C1->SR1 &= 0xFEFF;
SR1Register = 0;/ m U. {# D: j. m
}) ?: }) \4 `1 M8 R$ G
/* If OVR = 1 */3 L# @+ b' h2 {2 S5 ^( m
if ((SR1Register & 0x0800) == 0x0800)
{' a9 Q7 {# T5 J& o* h
I2C1->SR1 &= 0xF7FF;
SR1Register = 0;
}