hi vitat
thx for the offer but i just want to understand what your code does
in the ipbus.c file there is a part which explains the timer values you use
based on a 7.3728 MHz clock but in your circuit diagram there is a 14.7456Mhz resonator
does the AVR divide the external frequency with 2 (i couldn't find anything in it's datasheet)?
another question:
in link.c you write
....
timer0_source(CK64); //update every 1us
timer0_start();
while (INPUT_IS_SET)
{
T = inp(TCNT0);
if (T >= 50) goto err_exit; // 200us max wait time
}
...
you assign a prescaler of 64 to timer0 which should increment it every 1us
so why is a timervalue of 50 equal to a 200us delay ?!?!
there is also a question that appeared when i watched the communication on the ipbus with a scope
after the first 27 bytes comes the first of 6 "spikes"
those spikes have the same hightime (about 26us)as a 0 in the normal comunication but in the first 20us the voltage level ist about 2 times higher than in the rest of the communication
did you find out what this spike is or does ?
does your code and hardware threat that spikes as normal bits ?
thx4 your help
mike