Протеус не дает правильное преобразование
17.02.2015, 09:31
|
|
|
Гражданин KAZUS.RUN
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
|
Протеус не дает правильное преобразование
дорогие друзья
прямо к делу.
есть два баита:
unsigned char a=0x03;
unsigned char b=0x04;
ружно получить
unsigned char c=0x34;
делаю так
с=((a‹‹4)|b)
казалось должно быть 0x34 ,а протеус выдает 4
но если взять a=0x01; b=0x02;
выдает 0x12
ни как не разберусь в чем дело
может это глюки протеуса?
заранее блугодарю за разъяснения
|
|
|
|
17.02.2015, 09:41
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: протеус не дает правильное преобразование
А кофемолка суп не варит? Странно.
Вы CAD и IDE не путаете?
|
|
|
|
17.02.2015, 15:06
|
|
|
Гражданин KAZUS.RUN
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
|
Re: Протеус не дает правильное преобразование
дорогой друг Easyrider83
во первых спасибо, что обратили на мою просьбу внимание но,
объясните пожалуйсто(без осуждения бедного begun-а), что такое CAT и IDE ?
|
|
|
|
17.02.2015, 15:12
|
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
|
Re: Протеус не дает правильное преобразование
Сообщение от begun
|
|
казалось должно быть 0x34 ,а протеус выдает 4
|
Правильно он говорит - 4 в ASCII это и есть 0х34. А для 0х12 нет культурного (печатного) символа, потому и в неизмененном виде.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
25.02.2015, 10:13
|
|
|
Гражданин KAZUS.RUN
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
|
Re: Протеус не дает правильное преобразование
ничего не получается
вот усть переменная
unsigned long int a;
присваиваю
а=234567789;
нужно перевести его в HEX
в СРАМ какраз и превращается в HEX
6D38FB0D.вот но при чтении дает
'm'
'8'
FB
0D
неужели нельзя прочитать как записано?чтобы не переводил в CHAR?
|
|
|
|
25.02.2015, 10:59
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 19.02.2008
Сообщений: 1,840
Сказал спасибо: 128
Сказали Спасибо 613 раз(а) в 430 сообщении(ях)
|
Re: Протеус не дает правильное преобразование
А чем читаете? Точнее как читаете? Вы получаете отображение в ASCII кодах. Поясните что именно Вы хотите получить.
|
|
|
|
25.02.2015, 12:06
|
|
|
Гражданин KAZUS.RUN
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
|
Re: Протеус не дает правильное преобразование
дорогой andries5
огромное спасибо за отзыв
разрешите сформуллировать задачу
нужно преобразовать десятичное дестизнаковое число в HEX и далее послать через УАРТ на другой АВР контроллер
есть переменная
unsigned long int a;
которому дается значение a=234567789;
нужно это число в HEX формате отправить по УАРТ
для этого я записываю его в срам АВР по определенному адресу так
unsigned long int a@0xC0;
a=234567789;
и там он записывается в HEX начиная с 0xC0 до 0xC3 так
6D38FB0D и теперь чтобы его прочитать по байтно я объявляю переменную
unsigned char r[4]@0xC0; и в эту переменную автоматический записывается
r[0]='m'
r[1]='8'
r[2]=FB
r[3]=0D
а нужно
r[0]=6D
r[1]=38
r[2]=FB
r[3]=0D
вот как это сделать не знаю.
я понимаю, что может не так четко высказался но отвечу на любые вопросы, чтобы было понятно суть моей проблемы.
еще раз благодарю вас за желание помочь.
|
|
|
|
25.02.2015, 12:29
|
|
|
Частый гость
Регистрация: 08.08.2008
Сообщений: 34
Сказал спасибо: 12
Сказали Спасибо 16 раз(а) в 10 сообщении(ях)
|
Re: Протеус не дает правильное преобразование
Алгоритм нужно оформить в понятном для всех виде.
|
|
|
|
25.02.2015, 12:39
|
|
|
Прописка
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
|
Re: Протеус не дает правильное преобразование
Сообщение от begun
|
|
неужели нельзя прочитать как записано?
|
Нужно установить формат отображения
|
|
|
|
Сказали "Спасибо" mimuh64
|
|
|
25.02.2015, 12:43
|
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
|
Re: Протеус не дает правильное преобразование
Сообщение от begun
|
r[0]='m'
r[1]='8'
r[2]=FB
r[3]=0D
а нужно
r[0]=6D
r[1]=38
r[2]=FB
r[3]=0D
|
В трех словах - это одно и то же.
Подробней - просто НЕХ отображается в виде символов ASCII когда попадается "печатный". Другими словами 'm' это и есть 0x6D ... Т.е., фактически - все правильно, а видите результат в несколько искаженном виде. Об этом я уже говорил.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:00.
|
|