Hi! Good to hear it's working now.
About what you're describing, it depends on what "precisely" means. You can choose a newer chip like from the Q43 series and use the peripherals. There's a CWG which has a shutdown feature that switches of the output when a configurable interrupt fires - with no software latency at all. Greets, Kiste Am Montag, 4. Oktober 2021, 07:19:07 MESZ hat vsurducan <vsurdu...@gmail.com> Folgendes geschrieben: Rob, I like your way of tricking the problem. :) The final effect looks better, now indeed it detects the positive edge of RDY_IN. Assuming the RDY_In is 20ms and RDY_OUT delay in the main loop is say 1ms that can be correctly seen. The IOC is almost the same of mine (which started as jal and ended as assembler) But if you need to precise control the RDY_OUT time, that seems impossible in a long main loop which is also large jitter generator ( using the USB_serial for instance) . Imagine that RDY_IN varies between say 100us to 100ms and RDY_OUT must stay high a precise time until user reset it. The RDY_OUT control has to be moved in the ISR, but then no delay will be allowed to catch the rising edge...an interrupt timer delay must be implemented. thanks for your help! On Sun, Oct 3, 2021 at 3:45 PM Rob Hamerling <robhamerl...@gmail.com> wrote: > > > Hi Vasili, > > Follow up of my previous message ... > > > On 03/10/2021 10.32, vsurducan wrote: > > >> >> >> >> On the other hand, if you set only the detection of the rising edge ( >> IOCAP_IOCAP0 = high, IOCAN_IOCAN0 = low), RDY_OUT stayed indefinitely on >> high even on RDY_IN a positive edge occured, which seems wrong. >> >> >> >> > With only rising edge interrupts this is a possibility: > > > procedure IOC() is > pragma interrupt > if INTCON_IOCIF & IOCAF_IOCAF0 then -- edge interrupt on RDY_IN > IOCAF = IOCAF & 0xFE -- clear IOCAF0 > pin_RDY_OUT = high -- RDY_OUT high > end if > end procedure > > forever loop > if pin_RDY_OUT then > delay_1ms(20) > pin_RDY_OUT = low > end if > end loop > > > > > -- > Rob Hamerling, Vianen, NL > > > > -- > You received this message because you are subscribed to the Google Groups > "jallib" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to jallib+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jallib/76b8a82d-2e79-89b6-47b1-98169e4c0aae%40gmail.com. > -- You received this message because you are subscribed to the Google Groups "jallib" group. To unsubscribe from this group and stop receiving emails from it, send an email to jallib+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jallib/CAM%2Bj4qsXs%2BJXfaaN10tYtfF6R-jO7OeyMTyqfXN8SzV-bSgGoQ%40mail.gmail.com. -- You received this message because you are subscribed to the Google Groups "jallib" group. To unsubscribe from this group and stop receiving emails from it, send an email to jallib+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jallib/1148764833.933296.1633326615052%40mail.yahoo.com.