Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не в тему, но.. Задержка в АВР СТУДИО вылетает :( 
V
    Опции темы
СерегаГоляков
  Дата 11.12.2010, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Всё супер :)
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 26.4.2010
Где: НСК

Репутация: нет
Всего: нет



Здравствуйте, написал прогу. Неработает, портится после выхода из любого  _delay_ms(10); Написал для Atmel8515
Вдруг, здесь все кто на СИ пишут, так мож кто ще и с АВР студии заходит..
А в отладке, стрелочка пропадаает, после ДЕЛЕЯ через несколько шагов, вновь где-нибудь появляется оО
При этом вылетает:
AVR Simulator: Unsupported instruction 'call' at address 0x00071d
AVR Simulator: Unsupported instruction 'jmp' at address 0x00073a
AVR Simulator: Unsupported instruction 'call' at address 0x00015e
AVR Simulator: Unsupported instruction 'jmp' at address 0x000558


Программа выводит алфавит, а при нажатии комбинации 10111111 выводит анимации алфавита побуквенную.
 smile 
Это 2я моя прога, первая выводила кол-во нажатий, в той ниче подобного не было.

Сделал аналог на С++(может это и СИ получился), в Микрософт Вижуал Студии -> другие языки->Visual C++ ->консольное приложение.
Всё робит, выводит в консоль.

Вот прога:

Код

#include <avr/io.h>;
#include <avr/delay.h>;
 
void switch1(unsigned char inII){
            y=inII;    
            void clear1(){    //очистка матрицы
                    _delay_ms(p);
                    PORTD=0xFF;    
                    PORTB=0;
                    }
            switch(y){
                case  0x80:// А                            
                    PORTB=0b10000000;
                    PORTD=0b11100011;
                    _delay_ms(p);
                    PORTD=0x0;
                    PORTB=0xFF;
                    PORTB=0x0;
                    PORTB=0b00001000;
                    PORTD=0b11100111;
                    _delay_ms(p);
                    PORTD=0x0;
                    PORTB=0xFF;
                    PORTB=0x0;
                  PORTB=0b01111111;
                    PORTD=0b11011011;
                    _delay_ms(p);
                    PORTD=0x0;
                    PORTB=0xFF;
                    PORTB=0x0;
                    break;
                case 0x81:// Б
                    PORTB=0b10000000;
                    PORTD=0b11000011;
                    clear1();
                    PORTB=0b01100000;
                    PORTD=0b11011111;
                    clear1();
                    PORTB=0b00010001;
                    PORTD=0b11000111;
                    clear1();
                    PORTB=0b00001110;
                    PORTD=0b11011011;
                    clear1();
                    break;
                case 0x0082:// В
                    PORTB=0b10010001;
                    PORTD=0b11000111;
                    clear1();
                    PORTB=0b01101110;
                    PORTD=0b11011011;
                                 break;
                                case 0x83:// Г
                    PORTB=0b10000000;
                    PORTD=0b11000011;
                        clear1();
                    PORTB=0b01111111;
                    PORTD=0b11011111;
                    clear1();
                    break;
                default:
                    PORTB=0b10000001;
                    PORTD=0b00000000;            
                    clear1();
                    PORTB=0b01000010;
                    PORTD=0b10111101;            
                    clear1();
                    PORTB=0b00100100;
                    PORTD=0b11011011;            
                    clear1();
                    PORTB=0b00011000;
                    PORTD=0b11100111;
                    clear1();
                    PORTB=0b01111110;
                    PORTD=0b01111110;
                    clear1();
                    break;
                    }
}
unsigned char in;
unsigned char MMM=10111111;
unsigned char ASCII[42]={ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,
 0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,
 0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,
 0x9E,0x9F, 
 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39};
int j=0; //итератор
unsigned char inII; 
unsigned char y;
int p=10;

void main () {     /*Буквы 32, без "ё": */

    DDRB = 0xFF; // port b - output
    PORTB = 0x00;
    PORTA=0xFF; //pull up resistors ON
    DDRD = 0xFF; // port d - output
    in=PINA;//входная комбинация
    
//    in=0b10111111;//для отладки заменим на это, чтобы в цикл FOR войти
    in=0b10000000;
    
//    in=~in;
    
    if((in/*~in*/) == (MMM)){//if((~in)&(0b10111111))==0){
        for(j=0;j<20;j ++){
            inII=ASCII[j];
            switch1(inII);
            _delay_ms(500);
            }
    }else{    
        inII=in;
        switch1(inII);//передадим и выведем одну букву.
    }    
}



--------------------
Список всех полезных программ в ОДНОЙ программеhttps://sites.google.com/site/coolprogramms...latnyh-programm...Пьяные белазисты в карьереhttp://www.youtube.com/watch?v=6FGNGMwxJZ4
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0362 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.