标题: STM32F10系列中断与程序先后问题 [打印本页]

作者: lwxwopo    时间: 2020-3-15 23:14
标题: STM32F10系列中断与程序先后问题
类似C51定时器中断是按计数值来确定中断的节点,而STM32F10X系列中比如硬件I2C(主模式)。前面几个基本流程是检测BUSY,总线不忙发送起始位,发送成功SB置位,然后读SR1状态寄存器,再然后写入DR寄存器发送7位地址。在这儿想不明白的是紧挨着的发送起始位语句与读SR1状态寄存器之间中断与执行下一个语句哪个会先到来,如何判断??
如果中断比读SR1滞后程序不就乱了么。。咋想都想不明白。当然可以通过while(SB=0)来确定,但只想问这个中断与执行程序如果判断

谁先谁后。还是说中断肯定发生在执行下一条语句前???

作者: 我叫小大打    时间: 2020-3-16 00:51
这里有很多中断程序的例程,自己可以去学习

STM32入门篇之通用定时器彻底研究.7z

244.39 KB, 下载次数: 12


作者: lwxwopo    时间: 2020-3-16 21:11
我叫小大打 发表于 2020-3-16 00:51
这里有很多中断程序的例程,自己可以去学习

首先感谢无私共享资料。小弟愚钝只知道定时器捕获,输出PWM, 强制输出,输出所需波形等几个功能,没看出跟我的提问有何关联。。
作者: 墨栀    时间: 2020-3-18 17:41
首先中断称之为中断,是要打断你现在要做的事,满足中断条件(比如收到数据或者定时器到时间)就可以进入中断。进入中断的时候,会把当前程序运行的地址,状态等存入寄存器,执行完中断再读取出来继续执行。所以并不会出现程序乱的现象。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1