Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 16.04.2013, 21:36  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

oleg110592, Не проще вам будет здесь же задать вопрос ?
Похоже чтение литературы вам в прок не идет, видимо вы обучались по "кухаркиным" статьям и методом тыка. Отсюда и не понимание понятий , определений .
Заметьте я не обс...ю , не унижаю, вам точно нужна помощь.
Хотя бы та же структура сишного проекта , колоссальные грабли новиков...
Реклама:
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 16.04.2013 в 21:45.
dosikus вне форума  
Непрочитано 16.04.2013, 21:51  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

Ну зря вы Кернигана и Ричи назвали кухарками
Вот этого не могу понять: Длина массива S не указана, так как она определена в MAIN. И где она определена?
Извините за такой текст - как было
Код:
#DEFINE  MAXLINE  1000 /* MAXIMUM INPUT
       LINE SIZE */
 MAIN()  /* FIND LONGEST LINE */
 {
 INT LEN; /* CURRENT LINE LENGTH */
 INT MAX; /* MAXIMUM LENGTH SEEN SO FAR */
 CHAR LINE[MAXLINE]; /* CURRENT INPUT LINE */
 CHAR SAVE[MAXLINE]; /* LONGEST LINE, SAVED */

 MAX = 0;
 WHILE ((LEN = GETLINE(LINE, MAXLINE)) › 0)
     IF (LEN › MAX) {
    MAX = LEN;
    COPY(LINE, SAVE);
     }
     IF (MAX › 0)   /* THERE WAS A LINE */
    PRINTF("%S", SAVE);
 }
 GETLINE(S,LIM) /* GET LINE INTO S,RETURN LENGTH */
 CHAR S[];
 INT LIM;
 {
    INT C, I;

    FOR(I=0;I‹LIM-1 && (C=GETCHAR())!=EOF && C!='\N';++I)
    S[I] = C;
    IF (C == '\N')  {
  S[I] = C;
  ++I;
    }
    S[I] = '\0';
    RETURN(I);
 }

 COPY(S1, S2)    /* COPY S1 TO S2;
               ASSUME S2 BIG ENOUGH */
 CHAR S1[], S2[];
 {
 INT I;

 I = 0;
 WHILE ((S2[I] = S1[I] != '\0')
    ++I;
 }

    Функция MAIN и GETLINE общаются как через пару аргумен-
тов, так и через возвращаемое значение. аргументы GETLINE
описаны в строках

    CHAR S[];
    INT LIM;

которые указывают, что первый аргумент является массивом, а
второй - целым.
    Длина массива S не указана, так как она определена в
MAIN . функция GETLINE использует оператор RETURN для пере-
дачи значения назад в вызывающую программу точно так же, как
это делала функция POWER. Одни функции возвращают некоторое
нужное значение; другие, подобно COPY, используются из-за их
действия и не возвращают никакого значения.
я обс...ю тоже переведите, я подумал о нехорошем
oleg110592 вне форума  
Непрочитано 16.04.2013, 21:59  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

Сообщение от oleg110592 Посмотреть сообщение
Ну зря вы Кернигана и Ричи назвали кухарками
Не я не о них . Имелись ввиду многочисленные бложики .
А внизу именно то что вы подумали, только частица "не" вылетела ...
Уже исправил...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 16.04.2013, 22:08  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

Сообщение от oleg110592 Посмотреть сообщение
но вы и не доказали обратного
Еще вчера я хотел помочь вам двоим разобраться в этом вопросе, но...
Давайте по порядку...
  1. Отвечая на запрос "ну приведите хоть один пример", я привел два примера, один из них снабдил иллюстрациями, а про второй сказал, где эти иллюстрации можно найти.
  2. Вы оба продолжили спорить, даже не ознакомившись с предложенной мной информацией, не вникая в суть. Если, содержание высказываний, с которыми вы все это время спорите, вас обоих не интересует, значит спорите вы "из прынцыпа", а это мне неинтересно.
  3. Причину, по которой вас не интересуют аргументы оппонентов, можно разглядеть в целом ряде ваших высказываний из серии "у меня тут работает как-то, и ладно":
Сообщение от oleg110592 Посмотреть сообщение
структуры и указатели не применяю
Сообщение от oleg110592 Посмотреть сообщение
с 2006г программа ... включает ... и опрашивает ... без сбоев
Сообщение от akegor Посмотреть сообщение
трудятся контроллеры автономно, закопанные в землю ... со структурами и союзами
Сообщение от oleg110592 Посмотреть сообщение
пока убогого багажа знаний хватает
В целом, становится очевидным вывод, что эта тема вас обоих попросту не интересует - именно поэтому доводы, доказательства и фактические примеры вами даже не рассматриваются ("книги Вашей я не читал, но компетентно заявляю!").

Сообщение от oleg110592 Посмотреть сообщение
ткните хоть носом, какую книгу почитать, может KR устарели
Вы заявили себя знатоком ассемблера недавно, не так ли? Если честно, я не понимаю, как человек, имеющий большой опыт разработки на асме, может не видеть сути в учебнике по Си. И поэтому я затрудняюсь сейчас предложить учебник. Думаю, что сначала Вам нужно сформулировать для себя базис - для чего вообще нужны компиляторы, какие основные задачи они решают. А затем уже читать учебники, все время стремясь понять в прочитанном материале, какие задачи и как должен решать компилятор, чтобы отрабатывать соответствующие языковые конструкции.
____________________________________
Upd:
Сообщение от oleg110592 Посмотреть сообщение
Длина массива S не указана, так как она определена в MAIN
Ну вот и подтверждение тому, что Вы читаете не для того, чтобы понять, а с какой-то иной целью.
Там же русским по белому написано, что S[] - это не переменная, а параметр функции:
Сообщение от oleg110592 Посмотреть сообщение
аргументы GETLINE
описаны в строках
CHAR S[];
INT LIM;
Кстати - Вы уверены, что это вообще Си? Такие вещи, как "CHAR", "RETURN" языку Си не соответствуют.
__________________
There's always more than one way to skin a cat.

Последний раз редактировалось tempora; 16.04.2013 в 22:26.
tempora вне форума  
Непрочитано 16.04.2013, 22:23  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

Спасибо за объяснение - думал всегда параметры в круглых скобках.
Ассемблера не знаток - такого не говорил, так не много писал когда си еще не было.
Ну все таки на второй (или первый?) пример CV выдал варнинг. Другой пример пока не понял в чем проблема - попробую разобраться.
ладно признаю: -1 CV
oleg110592 вне форума  
Непрочитано 16.04.2013, 22:34  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

Сообщение от oleg110592 Посмотреть сообщение
Ну все таки на второй (или первый?) пример CV выдал варнинг
Объяснять разницу между предупреждением и ошибкой я сейчас не буду, но она принципиальная.
_______________________________
Сообщение от oleg110592 Посмотреть сообщение
Ассемблера не знаток - ... так не много писал
А тогда зачем и на каком основании было написано это? :
Сообщение от oleg110592 Посмотреть сообщение
самые надежные программы написаны на ассемблере.
__________________
There's always more than one way to skin a cat.

Последний раз редактировалось tempora; 16.04.2013 в 22:48.
tempora вне форума  
Непрочитано 16.04.2013, 22:37  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,907
Сказал спасибо: 2,542
Сказали Спасибо 11,818 раз(а) в 5,924 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

Сообщение от oleg110592 Посмотреть сообщение
Ну зря вы Кернигана и Ричи назвали кухарками
Вот этого не могу понять: Длина массива S не указана, так как она определена в MAIN. И где она определена?
Извините за такой текст - как было
Код:
#DEFINE  MAXLINE  1000 /* MAXIMUM INPUT
       LINE SIZE */
 MAIN()  /* FIND LONGEST LINE */
 {
 INT LEN; /* CURRENT LINE LENGTH */
 INT MAX; /* MAXIMUM LENGTH SEEN SO FAR */
 CHAR LINE[MAXLINE]; /* CURRENT INPUT LINE */
 CHAR SAVE[MAXLINE]; /* LONGEST LINE, SAVED */

 MAX = 0;
 WHILE ((LEN = GETLINE(LINE, MAXLINE)) › 0)
     IF (LEN › MAX) {
    MAX = LEN;
    COPY(LINE, SAVE);
     }
     IF (MAX › 0)   /* THERE WAS A LINE */
    PRINTF("%S", SAVE);
 }
 GETLINE(S,LIM) /* GET LINE INTO S,RETURN LENGTH */
 CHAR S[];
 INT LIM;
 {
    INT C, I;

    FOR(I=0;I‹LIM-1 && (C=GETCHAR())!=EOF && C!='\N';++I)
    S[I] = C;
    IF (C == '\N')  {
  S[I] = C;
  ++I;
    }
    S[I] = '\0';
    RETURN(I);
 }

 COPY(S1, S2)    /* COPY S1 TO S2;
               ASSUME S2 BIG ENOUGH */
 CHAR S1[], S2[];
 {
 INT I;

 I = 0;
 WHILE ((S2[I] = S1[I] != '\0')
    ++I;
 }

    Функция MAIN и GETLINE общаются как через пару аргумен-
тов, так и через возвращаемое значение. аргументы GETLINE
описаны в строках

    CHAR S[];
    INT LIM;

которые указывают, что первый аргумент является массивом, а
второй - целым.
    Длина массива S не указана, так как она определена в
MAIN . функция GETLINE использует оператор RETURN для пере-
дачи значения назад в вызывающую программу точно так же, как
это делала функция POWER. Одни функции возвращают некоторое
нужное значение; другие, подобно COPY, используются из-за их
действия и не возвращают никакого значения.
я обс...ю тоже переведите, я подумал о нехорошем
Извиняюсь Вас спросить - а ЭТО откуда? Пролистнул книгу, похожее нашел, но только ПОХОЖЕЕ, без дичи, которая в приведенной вырезке. У меня стр 42, параграф 1.9
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 16.04.2013, 23:07  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

откуда?http://lib.ru/CTOTOR/kernigan.txt
А тогда зачем и на каком основании было написано это? :
я там писал - это мое личное (ошибочное) имхо
Проверил пример, поскольку нужных функций не было - подкорректировал, не знаю правильно ли
Код:
struct  {
        char value, code;
    } xlattable[16] = {
        {'0',0}, {'1',0}, {'2',0}, {'3',0},
        {'4',0}, {'5',0}, {'6',0}, {'7',0},
        {'8',0}, {'9',0}, {'A',0}, {'B',0},
        {'C',0}, {'D',0}, {'E',0}, {'F',0}
    };
void    BuildXlat()
{
unsigned char   i;

        printf("Initiating XLAT table...\r");
        for(i=0; i ‹ (sizeof(xlattable)/sizeof(*xlattable)); ++i)
        {
            xlattable[i].code = xlattable[i].value;
            
            printf("xlattable[");
            printf("%d",i);
            printf("] = {0x");
            printf("%d",xlattable[i].value);
            printf(";0x");
            printf("%d",xlattable[i].code);
            printf("}\r");
        }
        printf("Initiating XLAT table done.\r");
}
протеус
Код:
Initiating XLAT table...
xlattable[0] = {0x48;0x48}
xlattable[1] = {0x49;0x49}
xlattable[2] = {0x50;0x50}
xlattable[3] = {0x51;0x51}
xlattable[4] = {0x52;0x52}
xlattable[5] = {0x53;0x53}
xlattable[6] = {0x54;0x54}
xlattable[7] = {0x55;0x55}
xlattable[8] = {0x56;0x56}
xlattable[9] = {0x57;0x57}
xlattable[10] = {0x65;0x65}
xlattable[11] = {0x66;0x66}
xlattable[12] = {0x67;0x67}
xlattable[13] = {0x68;0x68}
xlattable[14] = {0x69;0x69}
xlattable[15] = {0x70;0x70}
Initiating XLAT table done.
oleg110592 вне форума  
Непрочитано 16.04.2013, 23:42  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

Сообщение от oleg110592 Посмотреть сообщение
Проверил пример,
К этому, возможно, еще вернемся, но позже. Хотя, если всё же прочтёте то, что я рекомендовал прочесть, может и сами увидите эту "чудесную" картину CV.
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 17.04.2013, 00:15  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

чуть подправил для проверки - вроде из массива правильные значения берет:
Код:
Initiating XLAT table...
xlattable[0] = {0x0;0x0}
xlattable[1] = {0x1;0x0}
xlattable[2] = {0x2;0x0}
xlattable[3] = {0x3;0x0}
xlattable[4] = {0x4;0x0}
xlattable[5] = {0x5;0x0}
xlattable[6] = {0x6;0x0}
xlattable[7] = {0x7;0x0}
xlattable[8] = {0x8;0x0}
xlattable[9] = {0x9;0x0}
xlattable[10] = {0xA;0x0}
xlattable[11] = {0xB;0x0}
xlattable[12] = {0xC;0x0}
xlattable[13] = {0xD;0x0}
xlattable[14] = {0xE;0x0}
xlattable[15] = {0xF;0x0}
Initiating XLAT table done.
дальше сдаюсь
oleg110592 вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимальный лазерник для ЛУТ Kabron Делимся опытом 187 31.05.2016 10:51
Оптимальный привод тележки весом 200кг d-f-m Производственное оборудование 18 12.07.2010 00:29
[Решено] Оптимальный коттеджный домофон LAVR12 Автоматика и аппаратура связи 0 22.04.2010 20:17
О программировании AVR на C++ neiver Микроконтроллеры, АЦП, память и т.д 55 24.03.2010 19:33
Оптимальный ламинатор для ЛУТ snakesoft Делимся опытом 7 13.01.2010 22:41


Часовой пояс GMT +4, время: 07:12.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot