This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADC touchscreen

I am running the Beaglebone "Black" as "bare-metal" and want to add TouchScreen capability to my existing project.

I have the Starterware code and have taken the "touch-driver" files from the "DEMO" project and trying to use them. I encounter this problem: when I call "TouchInit()" function (located in "demoTouch.c" the processor appears to lock-up (ie no more UART / serial output) at the following line of code:

/* configures ADC to 3Mhz */
TSCADCConfigureAFEClock(SOC_ADC_TSC_0_REGS, 24000000, 3000000);

Is there something else that needs to be setup or configured BEFORE calling "TouchInit()"? In short, what is the bare-minimum setup that I need to do to be able to get ADC/Touchscreen samples?

I doubt that this is relevant but I am already driving the UART/serial output (for debug purposes) and successfully driving the LCD output channel (for a display). Now I need to add the "touch-screen" functionality to my project.

Sincerely,

Dean Wedel

  • Hi Dean,

    Before you can call the DAL APIs for touchscreen you should enable the module clocks for the module else memory accesses to the registers will be stalled.

    Please add module clock configuration function to your code before initializing the touchScreen.

    You can refer the TSCADCModuleClkConfig API defined in platform\evmskAM335x\tscAdc.c file and define the same for

    beaglebone in platform folder.

    For more details on the touchscreen initialization refer the touchscreen example for evmskAM335x board.

    Regards

    Anant Pai