一个小问题,希望知道的高手能指点一下!

2020-01-30 14:17发布

以下是对应下面时序图的读DS12C887的函数
uchar read_ds(uchar add)
{
    uchar ds_date;
    dsas=1;
    dsds=1;
    dsrw=1;
    dscs=0;
    P0=add;
    dsas=0;
    dsds=0;
    P0=0xff;
    ds_date=P0;
    dsds=1;
    dsas=1;
    dscs=1;
    return ds_date;
}
我的问题就是程序中的P0=0xff是不是必要的,还是可以去掉的,它的作用是什么?希望知道的高手能指点一下!感谢大家。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
20条回答
wgui
2020-02-01 22:53
很简单,当你的同一个IO还挂有其它的器件,操作过程中可能置抵电平了,那么现在这个公用脚可能未复位回高电平。那么外从外部中读取是不是一直读出低电平呢,而低电平是不可能被拉成高电平了,因为这样会有很大的流,会烧坏接口。而设成高电平是弱上拉,可以被拉成低电平。

一周热门 更多>