一文教你看懂信号完整性(SI)(下)
之前聊了下影响信号完整性(SI)的两个因素,即反射和串扰,接下来我们将聊聊过冲下冲、振铃、信号延迟等,希望对小伙伴们有所帮助,若是想看上篇可点击右侧链接《一文教你看懂信号完整性(SI)(上)》。3、过冲(Overshoot)与下冲(Unde
#include
#define uchar unsigned char
sbit scl=P2^1;
sbit sda=P2^0;
uchar ack_sign; //应答标志 应答为1,不应答为0
void delay()
{
uchar i=1;
while(i--);
}
void start() //开始信号 在scl为1时sda一个下降沿
{
sda=1;
delay();
scl=1;
delay();
sda=0;
delay();
scl=0; //记住这句一定要加,
delay();
}
void stop() //终止信号 在scl为1是sda一个上升沿
{
sda=0;
delay();
scl=1;
delay();
sda=1;
delay();
scl=0; //始终搞不懂这里为什么要加这个
delay();
}
void write(uchar Data) //写一个字节
{
uchar i;
for(i=0;i<8;i++) //传送一个字节
{
Data<<=1;
delay();
scl=0;
delay();
sda=CY;
delay();
scl=1;
delay();
}
scl=0;
delay();
sda=1; //释放总线,以便应答,记住这里
delay();
scl=1;
delay();
if(sda==1)
ack_sign=0;
else
ack_sign=1;
}
void main()
{
a: while(1)
{
start();
write(0x90);
if(ack_sign==0) //为0表示没应答,数据传输出错,无效,重新开始
goto a;
write(0x40);
if(ack_sign==0)
goto a;
write(0xff);
if(ack_sign==0)
goto a;
stop();
}
}
那个加黑的部分为什么要加,什么作用,不加为什么就得不到正确结果
大家的属性都是24V
PCB设计软件中正片跟负片有什么区别?
过孔绿油点不了请问什么原因