Freertos TWIM feature

mrigendra wrote on Monday, February 24, 2014:

I was creating a simple application to read an accelerometer chip as a task in freeRTOS.
The problem is while executing the twim task , it stucks in a while loop in the driver.

I am using SAM4l and atmel studio 6 .
to write or read there is a function call that takes the data to twim.c(the driver code) and in here the actual transfer is done.
There are three interrupts that NACK, write and read.

for read there is a sleep function in the twim driver if low power is enabled like this

    while(!(transfer_status[twim_ch]) && !                                                                                                                                                       (twim_get_status(twim) & TWIM_SR_IDLE))

     while(!(transfer_status[twim_ch]) && !(twim_get_status(twim) & TWIM_SR_IDLE))

         /* disable master transfer */
           ...code to configure registers

for a simple read from accelerometer my code is stuck in read’s sleep function.
my code stuck in the if condition.

My query is

  1. Is freeRTOS fully twim compatible?
    2)Are there any typical issues like this?

rtel wrote on Monday, February 24, 2014:

mrigendra wrote on Monday, March 10, 2014:

I was hoping for some help instead of this link…IBoard is sam4l xplained pro.This is code is from atmel studio 6 twim master driver.I am using FREERTOS and my device works good standalone(without freertos) .So I think its related to FREERTOS too.