有这样的要求,下位机数据包传送的时候是指定了数据包的第一个字节的奇偶校验位为1,后面的全为0,这样来保证数据头和正常的数据采集。
这样就有一个问题,串口设置肯定需要打开奇偶校验,但由于这个校验位在下位机上是强制设置的,不是正常的那种校验生成的,所以又不能进行校验,尤其在发送数据的时候,根本不能自动生成这位后发送具体的问题就是:如果把串口的模式设置成需要奇偶校验位标志但对这位又不进行校验,搞硬件的告诉我可以强制设置,但在PC的串口上这位怎么设我实在弄不清楚了,各位帮忙

解决方案 »

  1.   

    是与51通讯中的地址中断问题吧?
    为了触发地址中断响应,要在发地址字节时把奇偶校验设为 Mark ,我在你另一个帖子回复了
      

  2.   

    我遇到过,我记得PC和51的串口校验的生成方式是不同的,PC上的串口,你可以看看8250,它的校验只要提前设置了方式就可以不用在管了,硬件可以自动计算生成奇偶校验,
    但是51单片机的奇偶校验生成方式不同,是通过某一个寄存器的某一位(这个位置我记不清了)来完成的,当该发送奇偶校验位时,会把这个寄存器的这一位当成奇偶校验位发出去,而这一位不是硬件自己设置计算完成的,它只能被动的由软件去设置它,所以当你要实现奇校验或偶校验时,就需要自己完成这一位的计算,然后把结果送到那个寄存器的那一位,