Search results

  1. K

    Timerinterrupt for Teensy 4.1

    Twelve i2C ports! And overclocked. Sounds like a recipe for disaster. There should be similar parts that are SPI to do what you want and these will probably go up to 30MHz. Then you'll need to worry about signal integrity. I'd suggest you reconsider your design. You might research the chips that...
  2. K

    Bluetooth support for Teensy 4.1, hardware and software

    There's the ESP32 that does WiFi and Bluetooth. Good Arduino support. Connect via serial to the Teensy.
  3. K

    Suggestion for improved interrupt management for teensy 4.0/4.1

    Further to the discussion in the forum: https://forum.pjrc.com/threads/60831-Teensy4-0-and-_disable_irq-in-the-core-code?highlight=kartman could I suggest some attention is put towards managing the interrupts in the core libraries in a more performant manner? Rather than using...
  4. K

    Teensy4.0 and _disable_irq in the core code

    Further to the USB device, the USB host has similar issues with __disable(irq).
  5. K

    Teensy4.0 and _disable_irq in the core code

    Further testing was done and I can confirm the fixes to usb.c did have the most effect and retargeting the systick interrupt had a smaller effect - just as Frank detailed. Thanks to all that contributed.
  6. K

    Teensy4.0 and _disable_irq in the core code

    Thanks for the good work Frank and Paul. I have two projects - one interfaces to an asynchronous bus, so 24-30ns is not a concern and I have hardware to latch the data. The other project interfaces to a synchronous bus, so 30ns is tolerable methinks - just need to make sure the worst case...
  7. K

    Teensy4.0 and _disable_irq in the core code

    Thanks guys for having a look. Now i can see how to crank up the pwm frequency. Funnily enough i came across the same feature on a xmc1100 cpu just a few days ago. Changing the code in usb.c didn’t seem to make any discernible difference. Nor did it in event responder. Another test is to type...
  8. K

    Teensy4.0 and _disable_irq in the core code

    FASTRUN void pinChange_isr(void) { //clear the interrupt flag GPIO6_ISR = (1 << 3); //clear interrupt saves 30ns by using constant vs ISR & IMR GPIO9_DR_TOGGLE = (1<< 4);//toggle teensy4.0 pin 2 } void setupPinChange(void) { //let's cheat a little and just use the teensy core code...
  9. K

    Teensy4.0 and _disable_irq in the core code

    Not quite the highest priority - I left that to the thermal trip. I'm running the critical isr at priority 16 (1 in real terms). I've dumped the NVIC priority registers to check the priority of the other interrupt sources. The code I'm running relies on specific hardware, so posting my code...
  10. K

    Teensy4.0 and _disable_irq in the core code

    I did try changing _disable_irq() and _enable_irq() to NVIC_DISABLE/ENABLE_IRQ(IRQ_USB1) in usb.c and there didn't seem to be any negative effects, however, it didn't seem to produce any positive ones! When I send characters from the PC to the teensy via usb serial, I do observe a perturbation...
  11. K

    Teensy4.0 and _disable_irq in the core code

    My project is rather timing conscious and my isr gets delayed by around 100ns at random times when sending data via the usb serial connection. Upon some investigation, it seems interrupts are disabled in a number of places in the usb.c code. Is is advisable to change _disable_irq() and...
Back
Top