Цитата(KonstantinT @ Nov 13 2008, 11:32)

Если уходит в аборт , по по lr узнайте из какой точки программы вылетает, по состоянию регистров можно понять (неправильный указатель чаще всего).
К сожалению работаю без отладчика, поэтому никак не могу посмотреть состояние регистров...
Еще добавлю - подозреваю, что проблема может быть и в этом. У меня осуществляется обмен данными между потоками. Для этого я использую Mutex. Для доступа к общим данным использую следующую структуру:
Например в потоке modbus
if (xSemaphore != NULL)
{
if (xSemaphoreTake(.....) != NULL)
{
buffer1 = vTableSensorConfigure.xSensorConfigureStruct[index1]->Sensor_Value_Float;
buffer2 = vTableSensorConfigure.xSensorConfigureStruct[index1]->Sensor_Error;
xSemaphoreGive(xSemaphore);
}
} //Далее оперирую с локальными переменными buffer1 и buffer2
В потоке uip
if (xSemaphore != NULL)
{
if (xSemaphoreTake(.....) != NULL)
{
var1 = vTableSensorConfigure.xSensorConfigureStruct[index1]->Sensor_Value_Float;
var2 = vTableSensorConfigure.xSensorConfigureStruct[index1]->Sensor_Error;
xSemaphoreGive(xSemaphore);
}
}
Приоритеты и величины стеков у обоих потоков одинаковые...
Цитата(aaarrr @ Nov 13 2008, 10:39)

Зависает, или падает в Abort? Во втором случае найти причину будет гораздо проще.
Начните с проверки выделения памяти, проверьте, нет ли утечки.
Подскажите плз несведующему, как можно эту самую утечку проверить...или ссылочку на тему в форуме, где есть

Спасибо