NewNew 发表于 2009-9-8 19:02:58

通讯可靠性问题

马老师您好!各位好!
当我在数据通讯的时候为了保证通讯的稳定性,当我某个端口输出逻辑"1"后,我如何查询该端口是否为“1”。可以这样吗:
比如 DDRB=0X01;
    PORTB=0X01;
    //确认该端口是否为“1”
    if(!PINB.1)
       error();
    else
      // to do

qzf368 发表于 2009-9-9 22:34:56

中间要加一个nop() 留给单片机反应时间

qiuxiangkai 发表于 2009-9-10 17:18:45

你看数据手册上有写,应该读两次,第一次是虚读。

NewNew 发表于 2009-9-11 07:40:21

关键问题是把端口B作为输出的时候是否可以读PINB

ssyniuej 发表于 2009-9-11 09:37:05

随时都可以读取,只是注意外部电路的影响,时钟速度比较高的时候要注意多读几次。

qzf368 发表于 2009-9-17 23:19:48

读PINB就是读外部实际电平 跟方向没有关系
页: [1]
查看完整版本: 通讯可靠性问题