1. Си / Говнокод #19697

    −54

    1. 1
    2. 2
    3. 3
    С миру по нитки собрал счётчик, но что то он мне не нравиться.
     Может кто посоветует как этот код заставить работать на четыре индикатора, ну что б считал до 9999.
     И сам код переделать, посоветуйте... а то тут ножек на avr уже не хватает. Вот сам код:

    #include <inttypes.h>
    #include <avr/io.h>
    #include <avr/interrupt.h>
    #include <avr/sleep.h>
    #include <util/delay.h>

    void port_int(){
    DDRA=0xFF; PORTA=0x3F; //Все порты как выход 0x3F для отображения начального нуля.
    DDRB=0xFF; PORTB=0x00; //Все порты как выход
    DDRC=0xFF; PORTC=0x00; //Все порты как выход
    DDRD=0xFB; PORTD=0x04; //Порт PD2/INT0 как вход с кнопки, поднят внутренний подтягиваюўий резистор
    }

    void init_interp(void){ //объявили переменную init_interp
    MCUCR |=(1<<ISC01); //Выбор режима внешнего прерывания INT0 и INT1 // MCUCR общий регистр управления прерываниями
    GICR |=(1<<INT0); //запрет/разрешение прерываний по сигналам на входах INT0, INT1
    }

    volatile unsigned char i=0;
    volatile unsigned char a=0;
    ISR(INT0_vect){ //Обработчик прерываний (хз что это...)
    i+=1;
    switch (i){
    case 0x01: PORTA=0x06;break; //подставляем свои значения для индикатора
    case 0x02: PORTA=0x5B;break;
    case 0x03: PORTA=0x4F;break;
    case 0x04: PORTA=0x66;break;
    case 0x05: PORTA=0x6D;break;
    case 0x06: PORTA=0x7D;break;
    case 0x07: PORTA=0x07;break;
    case 0x08: PORTA=0x7F;break;
    case 0x09: PORTA=0x6F;break;
    case 0x0A: PORTA=0x3F;break;
    case 0x0B: PORTA=0x80;break;
    }
    }

    int main(){
    port_int(); // хз
    init_interp(); // что
    sei(); // это
    volatile unsigned char a=0;
    while (1){
    _delay_ms(50); //задержка
    PORTB=i;
    if(i==0x0A){
    a+=1;
    switch (a){
    case 1: PORTC=0x06;break; //подставляем свои значения для индикатора
    case 2: PORTC=0x5B;break;
    case 3: PORTC=0x4F;break;
    case 0x04: PORTC=0x66;break;
    case 0x05: PORTC=0x6D;break;
    case 0x06: PORTC=0x7D;break;
    case 0x07: PORTC=0x07;break;
    case 0x08: PORTC=0x7F;break;
    case 0x09: PORTC=0x6F;break;
    case 0x0A: PORTC=0x3F;break;
    case 0x0B: PORTC=0x80;break;
    }
    }
    if(a==0x0A){a=0;
    }
    if(i==0x0A) i=0;
    }
    _delay_ms(50); ;
    return 0;
    }

    Запостил: Azerhud, 25 Марта 2016

    Комментарии (50) RSS

    • Хинт: тег [code] работает не только в комментарии, но и в описании кода.
      Ответить
      • Спасибо, учту на будущее..
        Ответить
      • Хинт 0: тeг code существует и работает в комментариях
        Хинт 1: тег [code] работает не только в комментарии, но и в описании кода.
        Хинт 2: если вписывать код в поле "код", то при публикации поста код там и так будет выглядеть как код.
        Ответить
        • А мне вот кажется, что субъект - очень тонкий тролль.
          Ответить
    • >>нравиться
      http://tsya.ru/
      Ответить
    • > на четыре индикатора
      Гугли динамическую индикацию. Понадобятся 7-8 ножек на сегменты (один порт целиком) + по одной ножке на каждое знакоместо индикатора.
      Ответить
      • bormand, я тут почитал про тебя, ты классный чувак. И мне кажется, что... А давай запилим телепорт? С меня пхп и яваскрипт, с тебя всё остальное? А?
        Ответить
        • Он классный потому что кажется но нихрена не делает.
          Ответить
          • У меня детектор зависти лопнул
            Ответить
            • Чему завидовать то?
              Ответить
              • Тому что тебя считают классным, а его - пидаром
                Ответить
                • А чем я хуже-то? Просто хочу, чтобы рашка сдохла за то, что она сделала с Украиной, в особенности с востоком.
                  Ответить
                  • ну вот, уебок же
                    Ответить
                  • так не вся рашка же
                    а хуйло

                    тем более не любят тебя не за это
                    Ответить
                    • А как же 86%? А немцы за Гитлера в ответе?

                      А за что?
                      Ответить
                      • ой, не начинай

                        не-а, немцы не в ответе, а политота это на другой форум
                        Ответить
                        • Если они не в ответе, так хуле они тогда всяких беженцев к себе тянут?

                          >А за что?
                          Ответить
                          • ты правда не понимаешь за что тебя не любят?
                            а ты спроси.
                            Ответить
                            • Уже 2 раза спросил, глаза разуй.
                              Ответить
                              • Ты националист, расист, и просто нехороший человек, который разводит никому неинтересную политоту, посылаешь всех нахуй, но резко становишься адекватным, когда нужно что-то просить.

                                еще вопросы?
                                Ответить
                                • > националист, расист, и просто нехороший человек, который разводит никому неинтересную политоту, посылаешь всех нахуй, но резко становишься адекватным, когда нужно что-то просить
                                  Велик и могуч русский язык. Сколько слов вместо одного из трёх букв!
                                  Ответить
                                • >расист
                                  Откуда ты это взял?

                                  М-м-м... Много я прошу?
                                  Ответить
                                  • Ну вот ты и признался в нацизме
                                    Ответить
                                    • Где? Или ты не видишь разницы между национализмом и нацизмом?
                                      Ответить
                                      • Звонок в Ку-Клукс-Клан:
                                        -Скажите, а Что нужно сделать,чтобы вступить в вашу организацию?
                                        -Убить 6 негров и кота…
                                        -А кота за что?
                                        -Поздравляю,Вы приняты!
                                        Ответить
                                        • Повторяю для тупых: ты не видишь разницы между национализмом и нацизмом?
                                          Ответить
                                          • О, любитель учить окружающих сортам говна.
                                            Ответить
                                          • Национализм - "нация - главный государствообразующий компонент. Я люблю свою нацию и считаю, что главной задачей является ее культурное, духовное и экономическое благосостояние"

                                            Нацизм - "Моя нация - самая лучшая! Мы - великие, а все остальные страны нам завидуют! Второсортные пиндосы, ватники, дойчи, <имя рек>, мы вам всем покажем!"

                                            Помогите Пидару найти свои политические взгляды
                                            Ответить
                                            • Я правильно понимаю, что нацизм подразумевает имперские амбиции, потребность навязать другим свои взгляды?
                                              Ответить
                                              • >> потребность навязать другим свои взгляды?

                                                Пропаганда так или иначе свойственна всем политическим движениям, но не является неотъемлемой частью ни одного политического взгляда

                                                >> имперские амбиции

                                                Аналогично
                                                Ответить
                  • Обида за разорванное очко?
                    Ответить
        • не слушай его, борманд

          давай лучше пива попьем
          Ответить
          • > давай лучше пива попьем
            Да я уже.
            Ответить
            • пивной алкоголизм - самый страшный алкоголизм, товарищ!
              Ответить
        • >> А давай запилим телепорт?

          Ага. Кваддемедж и BFG тоже запилите
          Ответить
          • Мне нравились письма от спутникового провайдера в духе "проводится ремонт на телепортах 5 и 10". Сразу фантастика вспоминалась...
            Ответить
    • > ножек на avr уже не хватает
      Переходи на ARM'ы. У них ножек побольше.
      Ответить
    • Стэковерфлоу не здесь, он там.
      Ответить
      • put on hold as off-topic

        This question appears to be off-topic. The users who voted to close gave this specific reason:

        "Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example."

        If this question can be reworded to fit the rules in the help center, please edit the question.
        Ответить
        • Ага, заебали мудаки упоминать оверфлоу в суе. Ресурс сделан не для вопросов, а для ответов на популярные вопросы.
          Ответить
          • Обьебался "автостопом по галактике"? Ответы ему без вопросов, блядь
            Ответить

    Добавить комментарий