|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.03.2011, 17:56 | #1 |
Новичок
Джуниор
Регистрация: 17.03.2011
Сообщений: 2
|
Присваивание значения массиву
Всем привет! Сразу хочу сказать что в СИ я чайник, не нашел в какой теме находятся мне подобные.
Изучаю Си, а точнее пишу программу в CodeVisionAVR, и пришел в тупик. Нужно в массив присвоить некоторое значение, не могу понять как правильно писать. Помогите пожалуйста. void main(void) char q[10]; { q[]="asdfghjkl"; } |
17.03.2011, 20:03 | #2 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
во 1 так:
int main(void) { char q[10]; return 0; } разные способы: Код:
|
18.03.2011, 00:47 | #3 | |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Цитата:
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
|
18.03.2011, 03:23 | #4 |
Новичок
Джуниор
Регистрация: 17.03.2011
Сообщений: 2
|
Не получается Parametr #1 of type 'flash unsignet char *' is incompatible with type 'unsignet char *' specified in the function 'strcpy' declaration' ругается при компиляции, но хотя если проверить на синтаксис - ошибок нет.
onewho, объявил char q[] локально в функции main. Я же объявлаю q[] глобально сразу после #include. Посмотрите полностью код, пишу программу для радиационного дозиметра. На данный момент пытаюсь выводить символьную информацию на семи сегментный дисплей. #include <mega16.h> #include <stdlib.h> #include <string.h> // Declare your global variables here char display[6]; char simabc[]={"abcdefghijklnopqrstuvy"}; char simb[]={0b00010010,0b10110000,0b10011001, 0b01110000,0b10010001,0b10010011,0b 10011000,0b00110010,0b01111110,0b01 111000,0b10010010,0b10111001,0b0001 1010,0b11110010,0b11110000,0b000100 11,0b00010110,0b11110011,0b10010100 ,0b10110001,0b00111000,0b11111000,0 b00110100}; //int number[]={0b11000000,0b11110110,0b01001010, 0b01100010,0b01110100,0b01100001,0b 01000001,0b11110010,0b01000000,0b01 110000}; char outpr[6]; // массив из которого потом выдаётся значение на дисплей char q; int s; // счетчик int s1; //... void print(){ // вывод информации на дисплей if(TCNT0>0 && TCNT0<42 ) { PORTD=0b11111110; PORTC=display[0]; } if(TCNT0>42 && TCNT0<85 ) { PORTD=0b11111101; PORTC=display[1]; } if(TCNT0>85 && TCNT0<127 ) { PORTD=0b11111011; PORTC=display[2]; } if(TCNT0>127 && TCNT0<170 ){ PORTD=0b11011111; PORTC=display[3]; } if(TCNT0>170 && TCNT0<212 ){ PORTD=0b11101111; PORTC=display[4]; } if(TCNT0>212 && TCNT0<255 ){ PORTD=0b11110111; PORTC=display[5]; } } void reprint(){ //for (s=0;s<6;s++){display[s]=simb[s+10];} for(s=0; s<6; s++){ for(s1=0; s1<21; s1++){ if(outpr[s]==simabc[s1]){display[s]=simb[s];} } } } void main(void) { // Declare your local variables here // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 13,982 kHz // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x05; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; while (1) { strcpy("qwerty",outpr); reprint(); while(1){ print(); }; }; } Последний раз редактировалось atmin; 18.03.2011 в 04:02. |
21.03.2011, 01:27 | #5 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
блин парень подвёл я тебя
strcpy(outpr,"qwerty"); надо |
21.03.2011, 02:12 | #6 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
блин, сказали же, void main(void) нельзя, пиши int main(). но это не по теме.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Присваивание значения через промежуток времени | Epc | Помощь студентам | 43 | 06.11.2010 15:27 |
Неправильное присваивание значения ячейке | 4istii_listo4ek | Microsoft Office Excel | 18 | 15.10.2010 20:34 |
присваивание полю значения из запроса | Desha | Microsoft Office Access | 0 | 12.06.2010 18:34 |
Recordset - присваивание значения поля | Desha | Microsoft Office Access | 6 | 11.06.2010 20:38 |
Присваивание тексту Memo значения из TStringList | Alex Cones | Общие вопросы Delphi | 10 | 14.08.2009 21:07 |