Tool/software:
Recently, I found that data was occasionally lost when debugging UART. Later, I found that it was because the general interrupt was turned off for more than 100 microseconds when reading the ESC register (normally only about 1 microsecond). As a result, my UART interrupt could not be triggered in time, the FIFO was full, and subsequent data was lost.
I noticed that other manufacturers' chips did not turn off the interrupt when reading the ESC register. Why does the CM core turn off the global interrupt in these APIs?
In addition, When I remove the code that turns off the global interrupt, CM has become unstable and has some strange behavior when running.
for example:
ethercat_slave_cm_hal.c
