Цитата(sergeeff @ Jul 18 2009, 20:22)

Коллега Борщ вам же даже посчитал, что ваша структура массивов требует чуть менее 1 Кб ОЗУ. А вы имели резерв под стек 32 байта и при этом всем морочите голову, почему ни хрена не работает.
Замечания про то, что компилятор сам мол знает сколько надо памяти под разные типы данных и сам там чего-то выделяет - вредное заблуждение.
Я слабо знаком с внутренним устройством и принципами работы компилятора (точнее совсем не знаком), а электроника и программирование для меня всего лишь хобби.
НО я считал, что если я объявил массив/структуру массивов, то за писят лет построения компиляторов можно было сделать так, чтоб я потом мог работь с данными а не ловить глюки в самых экзотических местах.
Дело было так:
У меня маленькая система управляемых по радиоканалу датчиков. Каждый из них общается с главным модулем, который сливает инфу на камп (тоже по радиолинку).
Для того, чтоб получаемые данные сто процентно доставлялись к кампу, я сделал некое подобие буфера, куда откладывается инфа, которая по мере возможности передается в систему.
Вот этот (урезаный) буфер:
Код
struct{
unsigned long
_Arr_Shift_Delay[11];
unsigned char
_Arr_Nomer_Datchika[11],
_Num_Sensor[20],
_BAT_Sensor[20],
_Time_SensorSH[20],
_Time_SensorH[20],
_Time_SensorL[20];
} Buffer_Values;
Данные помещаются в конец, а читаются с начала. Типа кто первый пришел, тот первым и уйдет.
Но даже с таким маленьким буфером глюки остались. В процессе работы, когда буфер заполняется информацией, случается, что реальные данные в нем "портятся":( Естественно это приводит к полному краху всей дальнейшей работы.
Мне нужно под стек еще больше чем 0х40? Типа посчитать в экселке размер всех моих переменных и структуры, накинуть процентов 20 и "застолбить" это число в настройках ИАра? А шо, "оно само" никак не могло научится делать это за меня?

И потом, нафиг вообще эти массивы пихать в стек? Что они там забыли? Ниче не понимаю.
Сообщение отредактировал Буратино - Jul 19 2009, 00:00
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.