I see several options:
- changeChange your code to achieve lower delays on the other functions
- useUse interrupts at a set frequency to trigger the sending (and maybe the automatic transmission trigger pins, see MCP2515 datasheet, depending on pin use & schematic of your specific shield)
- useUse a basic scheduler/rtos
It is hard to tell what is going on withtwithout the rest of your code/if, if it is a good idea to try to achieve faster functions. I
I am not 100% sure the CAN-lib would will work well in the context of an interrupt.