关于用单片机PIC16F877A进行串口通信C语言编程方面的问题,急求高手帮忙解决,可以追加悬赏!

我手上有这么一块板,它会定时发送一组数据给单片机PIC16F877A的,然后单片机接收到这一组数据就进行判断和处理。现在问题是,我重新用C语言写一个接收程序,在串口中断里面进行接收,主板发送这一组数据我接收时就连续发生了3次串口中断,而3次接收到都是同一组数据,问题更严重的是这组数据是不完整的,少接收了后面10个数。而原本的程序只在一次串口中断发送里就完成接收到正确的数据了。
我就是想问,对于接收同一组数组(这个数组一共有30多个16进制的数组成),是什么原因会使得不同程序会有3次串口中断和1次串口中断发生的区别呢?而且我接收程序里3次串口中断接收到的数组都是一样的又不完整的,究竟是什么原因呢?

MSComm1.InputLen = 1
MSComm1.RThreshold = 1
这样可以保证每接收一个字符都产生中断,决不会收漏一个字符,
温馨提示:答案为网友推荐,仅供参考