串口通讯时可以被中断打断吗?# {+ [( b) h. B) k
自带的,模拟的都不可以吗? 8 I$ V. J+ s% c6 V8 x- i, {比如说我现在在检测位置的脉冲信号,而且频率比较高2 Q) v% d. q# ]" S4 Y
现在我要用串口发一些数据给单片机,一发就好几个字节,漏了我的脉冲怎么办啊! 4 m7 r$ v4 S: T, n谢谢! 2 C. r% a( N: c& ?$ z; ~
串行通信完全可以被中断0 k' s6 K" b7 O, U" s' n
串行数据的发送是由UART硬件自动实现的,也就是MOV SBUF,A执行了以后单片机实际上就不用再管数据是如何逐位发出的,只需要根据标志位TI了解一帧字节是否确实已经发出。所以串口通信被中断不会影响到一帧字节的发送,只会影响几帧字节的连续发送(在连续的两帧之间造成停顿)。如果你的脉冲检测是由外部中断实现的,那你只要将外部中断的优先级设得高于串口的优先级(在串口和脉冲同时抢中断时先响应脉冲),并且在串行中断服务子程序里不要关中断就行。