How long does 1 cycle machine of Q2686 take?


#1

Hi everyone;
I have some questions, could you tell me how long 1 cycle machine of Q2686 take?
I need to know how long does it take because I’m communicating with sensor DS1820.
I need to create an 1us delay signal but don’t know how to do that. I tried to create an delay time by this loop:

adl_ioWriteSingle ( MyGpioHandle , ADL_IO_Q2686_GPIO_19,ADL_IO_HIGH );
for (i=0;i<10000;i++){//do nothing}

but it didn’t work as I thought. I tried many other ways to create a delay time for my signal but they’re unsuccessful.
Please help me! Thanks a lot for all suggestions!


#2

You really shouldn’t be trying to create delays using loops in an Open-AT application!

If you “stall” the application, you stall the entire system!

You can’t do cycle-counting from a High-Level Language anyhow.

You need to use some sort of external device to generate the critical timing…

Perhaps one of the RS232-to-1-Wire adaptors…?

See also:

viewtopic.php?f=37&t=2324&p=8613&hilit=1-wire#p8613

viewtopic.php?f=15&t=2226&p=8220&hilit=break#p8220


#3

Hi Awneil;
Thanks for replying. I will try it.
Thanks a lot for all suggestions! :smiley:


#4

Hiya,

You can also use (with the appropriate level shifting) the Maxim-Dallas DS2482-100 I2C to One-wire bridge chip.

Works like a charm for me.

ciao, Dave


#5

Yes - in summary:


#6

That second link now seems to be broken - see: https://forum.sierrawireless.com/t/break-signals-over-uart/4463/3