и вообще, кусок кода какой-то несуразный....
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Займитесь простой арифметикой. Сначала определитесь, какой тип нужен для элементов. char - 1 байт, int - 2 байт. Умножьте это значение на число элементов в массиве (произведение размерностей). Получится размер памяти для хранения массива. Сравните со значениями ОЗУ и flash различных микроконтроллеров (даташиты никто не отменял) начиная последовательно от tiny2313, atmega8, atmega16, atmega32, ... Если памяти ОЗУ не хватает для единовременной обработки массива, сохраните его в flash-памяти (только там свои ограничения и могут возникнуть определённые глюки). Потренируйтесь на Протеусе.PacMan писал(а):ну и как быть? какой микроконтроллер предложите?)
2 цвета - это включено и выключено?PacMan писал(а):вообщем хочу собрать led cube 5x5x5 вот и нужен 3-х мерный массив. у меня только 2 цвета
Код: Выделить всё
typedef char[5] sloy_t;
sloy_t cube[5];
// установка для заданного слоя кубика в строке и столбике бита в 1
voig set_bit(sloy_t *sloy, char stroka, char stolb){
char bit = 1 << stolb;
*sloy[stroka] |= bit;
}boobonick писал(а):...подскажите,пожалуйста,не понимаю, компилятор выдает сообщение "missing ;" ... возможно ли так в структурах делать?Код: Выделить всё
struct { char lcd_menu_master[x_element][y_element]= { {"Menu1"}, {"Menu2"}, {"Menu3"} }; };
"Втюхивать" строки в char-массивы стандартом Си разрешено, более того - делать так зачастую удобнее, чем лепить кучу отдельных символов.ARV писал(а):boobonick, а что вы хотели-то? определяете массив символов, а втюхиваете в него строки... разница все-таки есть, как ни крути


если бы все знали все, что можно в Си и умели бы этим пользоваться - ни у кого не возникаоло бы вопросовYellow Tiger писал(а):"Втюхивать" строки в char-массивы стандартом Си разрешено, более того - делать так зачастую удобнее, чем лепить кучу отдельных символов.
Да, наверное мое представление неправильное, но, как я думаю,Yellow Tiger писал(а):boobonick писал(а):...подскажите,пожалуйста,не понимаю, компилятор выдает сообщение "missing ;" ... возможно ли так в структурах делать?Код: Выделить всё
struct { char lcd_menu_master[x_element][y_element]= { {"Menu1"}, {"Menu2"}, {"Menu3"} }; };ARV писал(а):boobonick, а что вы хотели-то? определяете массив символов, а втюхиваете в него строки... разница все-таки есть, как ни крути
А под одну строку [x_element] же я выделил много символов [y_element], т.е. строки же разные могли быть или я не понимаю чего-то?
P.S. Что-то имя "menu" заставляет меня сомневаться в том, что ты выбрал для достижения своих целей правильные средства - строки меню очень редко бывают одинаковой длины...
Код: Выделить всё
static char *lcd_menu_master[]= {"Menu1","Menu2","Menu3"};Нет, это в текстовом файле строка ограничивается символом перевода строки, а Си-шный набор данных, называемый строкой, оканчивается нулем - '\0'.boobonick писал(а):...но, как я думаю, строка - это набор символов, с '/n'
Вот теперь правильно.boobonick писал(а):...сегодня перечитал про указатели и сделал вот так:Код: Выделить всё
static char *lcd_menu_master[]= {"Menu1","Menu2","Menu3"};
Код: Выделить всё
while (1) {
if(PINA.0==1){
Если кнопка нажата то выводим на LCD “Ура это может работать!!!”
}else{
Если кнопка не нажата то выводим на LCD “Не работает!!!”
}
};