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.

Reply via email to