I need help with an issue related to BCTU. I’m trying to trigger multiple ADC channels (ADC0 CH40 and ADC1 CH6) simultaneously using BCTU. You can find the screenshot of the BCTU settings I made below.


I’m using the BswAdc_Bctu_Watermark_Notification and BswAdc_Bctu_Trigger_Notification functions to observe when the program enters these functions by toggling certain pins. In a 100 us callback function, I’m calling Bctu_Ip_SwTriggerConversion to software trigger the BCTU (the TRGCFG_0.TRIGEN bit is set to 0). As can be seen in the logic analyzer screenshot, the BswAdc_Bctu_Trigger_Notification and then BswAdc_Bctu_Watermark_Notification functions are called as expected every 100 us.

However, when I comment out the place where the software trigger function is called and set the TRGCFG_0.TRIGEN bit to 1 (hardware trigger), as can be seen in the screenshot below, these functions are called more than once in each cycle. It’s as if another source is triggering the BCTU. But EMIOS channel 0 should have triggered it only once every 100 us.

I’m wondering what could be causing this extra triggering.