你开了接收中断,收到一个字节,中断一次,所以,合计中断9次,没有毛病。
你理解的是正确的。
STM32的串口,有多种方式,但常用的有DMA+IDLE中断方式。
当然也有接收单字符中断。
IDLE中断,就是一个数据帧发送完成,串口空闲了会产生一次IDLE中断,用这个中断方式,可以方便的进行数据帧分断,很好用的。
看这情况是每个字符进入一次中断,每次中断当然都要进入服务函数了
这是不定长接受的常规方法。
不过我还是推荐DMA+空闲中断来接收不定长数据
比较每个字符进入一次中断太浪费资源了
这种应该会产生9次接收中断,进入中断服务函数却不止是9次
因为产生的中断不一定只有接收中断,如果你开启了空闲中断那些也会在接收完成之后进入的