roboforum.ru

Технический форум по робототехнике.

CodeVision AVR - глюк с указателями

CodeVision AVR - глюк с указателями

-= Александр =- » 13 ноя 2007, 21:06

Уже час бьюсь над проблемой:
unsigned long int a=0x1234ABCD;
char* pointer;

pointer=(char*)&a;

Читаю значение *pointer - а там ноль. Что за глюк?
При том что если a сделать unsigned int - все работает.

Re: CodeVision AVR - глюк с указателями

rig » 14 ноя 2007, 12:14

решил не решил?
Код: Выделить всёРазвернуть
unsigned long int a=0x1234ABCD;
char* pointer;
unsigned char bufer[33];
sprintf(bufer,"%02x%02x%02x%02x",
   *pointer++,*pointer++,*pointer++,*pointer++   );
lcd_puts(bufer);

вот так сделал получил на ЛСД

а=0x12345678 ЛСД:78563412
а=0x1234ABCD ЛСД:cdab3412
а=0x01020304 ЛСД:04030201
младший байт пишется первым

все вроде нормуль

на эту строчку только ругается, но работает как надо
pointer=&a;

Re: CodeVision AVR - глюк с указателями

-= Александр =- » 14 ноя 2007, 19:25

В общем это был глюк бета-версии CodeVision 1.24. Щас скачал новый - все ОК!
Переношу в грабли...


Rambler\'s Top100 Mail.ru counter