roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 09:31

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Си для МК - общие вопросы
СообщениеДобавлено: 22 мар 2008, 13:47 
Не в сети
Аватара пользователя

Зарегистрирован: 16 окт 2007, 11:57
Сообщения: 349
Откуда: Минycинck
"Си для микроконтроллеров" это страница 5 в кратком курсе - Микроконтроллеры
AVR и PIC начинающим - теория, примеры, программы. < avr123.nm.ru >

Люди, подскажите как организовывать массивы и с чем их есть на СИ ?

Например на Бэсике: Bascom AVR и Bascom-8051
dim a(10) - это указывает размер массива
data 4,5,7,9,5,4,3,4,6,2 - сюда наполняем массив

print a(3) - так вытаскиваем из массива, например вывод на экран

как другими словами на СИ это написать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Общие вопросы по программированию СИ
СообщениеДобавлено: 22 мар 2008, 14:15 
Не в сети
Аватара пользователя

Зарегистрирован: 03 авг 2007, 19:43
Сообщения: 1437
Откуда: Екатеринбург
прог. языки: Си, асм со словарем
Сам когдато искал и в курсе и в хелпах. Все примеры работают в CodeVisionAVR :

структура
Код:
struct  struct_memo_termo
      {unsigned char N_datchik;
       unsigned char name[max_len_name];
       unsigned char radio;
       unsigned char aktiv;
       int T;
       int T_old;
       unsigned char T_obnovlenia;
       int T_alarm;
       unsigned char Alarm;
       unsigned char Poz_LCD;          
      }memo_termo[10];

обращение к структуре
memo_termo[1].T
memo_termo[2].T_alarm
memo_termo[9].Poz_LCD

Код:
flash struct  memo_flash {
          signed char   time;
          signed char   light;
          signed char   step[4];   
         }data_memo_flash[N_effekt]=
         {
         {2,(max-1)*1,{ T__max*1, T__max*0.05, T__max*0, T__max*0.2}},
         {6,(max-1)*1,{ T__max*2, T__max*0.2 , T__max*1, T__max*0.1}},
         {4,(max-1)*1,{ T__max*3, T__max*0.1 , T__max*2, T__max*0.1}},
         {5,(max-1)*1,{ T__max*4, T__max*0.2 , T__max*3, T__max*0.1}},
         {6,(max-1)*1,{ T__max*5, T__max*0.2 , T__max*4, T__max*0.1}},
         {3,(max-1)*1,{ T__max*6, T__max*0.05, T__max*5, T__max*0.2}},
         {5,(max-1)*1,{ T__max*7, T__max*0.2 , T__max*6, T__max*0.1}},
         {6,(max-1)*1,{ T__max*8, T__max*0.2 , T__max*7, T__max*0.1}},
         {4,(max-1)*1,{ T__max*9, T__max*0.1 , T__max*8, T__max*0.1}},
         {3,(max-1)*1,{ T__max*10,T__max*0.2 , T__max*9, T__max*0.2}}
         };

обращение

data_memo_flash[х].light
data_memo_flash[ x ].step[у]
data_memo_flash[ x ].time

Код:
описание новой структуры данных
typedef eeprom struct  {
         unsigned char   name[len_name];         
         unsigned char rom_code[len_rom_code];
         int t;
         int t_alarm_1;
         unsigned char type_alarm;
         } eprom_structure_store;

объявление структуры в другом месте программы
eeprom eprom_structure_store eprom_store_data[MAX_DEVICES];

массивы:

signed char pre_light[20]={0,1,2,3,4,5,8,10,12,14,16,18,20,22,24,26,30,32,36,39 };

обращение
pre_light[х]

Код:
unsigned char KeyArray[8][8]={{255, 18,255, 22,  7,  1, 14, 16},\  // ~|
                              { 18,255, 23, 21,  8,  2, 13, 17},\
                              {255, 23,255, 20,  9,  3, 12, 19},\
                              { 22, 21, 20,255, 10,  4, 11,255},\
                              {  7,  8,  9, 10,255,  5,255,  6},\
                              {  1,  2,  3,  4,  5,255,255,  0},\
                              { 14, 13, 12, 11,255,255,255, 18},\
                              { 16, 17, 19,255,  6,  0, 15,255}};

обращение
KeyArray[0][0]


Последний раз редактировалось rig 22 мар 2008, 18:12, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си для МК - общие вопросы
СообщениеДобавлено: 22 мар 2008, 14:27 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Спасибо за подробный ответ !

Самая точная информация находится в Хелпе в документации и в примерах к используемому компилятору.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO