Технический форум по робототехнике.
Rikenbacker » 30 сен 2010, 20:50
Как подружить код полученный компилятором WinAVR с моделью в Proteus, чтобы последний не выдавал ошибку Invalid Opcode?
Как я понял это какой-то стандартный глюк протеуса который тянется чуть ли не с 2006 года. Но решения я не нашел, но оно вообще есть?
=DeaD= » 30 сен 2010, 20:59
МК не перепутан?
avr123.nm.ru » 30 сен 2010, 22:52
Приложите архив с проектом.
Rikenbacker » 01 окт 2010, 09:14
Проект в протеусе - проще некуда. Просто сам микроконтролллер AT90S2313.
Код программы тоже не блещет сложностью:
- Код: Выделить всё • Развернуть
#include <avr/io.h>
#define BLINK_D_BIT(BIT) PORTD |= _BV(BIT);\
PORTD &= ~_BV(BIT);
void outSymbol(short Symbol, bool dot, short position)
{
// Установка бита записи в 0
PORTD &= ~_BV(0);
// Установка защелки в 0
[color=#FF0000] PORTD &= ~_BV(2);[/color]
//BLINK_D_BIT(0);
//BLINK_D_BIT(2);
};
void init_scheme()
{
DDRB = 0xFF;
DDRD = 0xFF;
outSymbol(0, 0, 0);
};
int main()
{
init_scheme();
while(1)
{
};
}
Причем строка выделенная красным - критическая. Если её нет - всё работает. Стоит её поставить - не работает.
galex1981 » 01 окт 2010, 10:10
Проблема может еще быть с настройками, потому если хотите помощи - выложите проект
Romikgy » 01 окт 2010, 13:44
а как должно работать ?