реклама на сайте
подробности

 
 
> бинарная форма представления в Keil
skyv
сообщение Jul 27 2012, 11:05
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 181
Регистрация: 26-07-10
Пользователь №: 58 606



Привет всем.
Подскажите как правильно инициализировать переменную в бинорном виде в Keil.
unsigned char data = '0b00001111' что-то вроде этого.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
esaulenka
сообщение Jul 27 2012, 11:20
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Написать 256 раз
#define 0b00001111 0x0F
В стандарте Си "бинарного вида" не предусмотрено.

А вообще, это либо пишется как 0x0F, и конвертируется в голове, либо как
#define BIT(n) (1UL<<(n))
data = BIT(3) | BIT(2) | BIT(1) | BIT(0);


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
skyv
сообщение Jul 27 2012, 12:24
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 181
Регистрация: 26-07-10
Пользователь №: 58 606




В MPLAB, к примеру, допустимо делать так:
unsigned char www = 0b00000101;

IAR на подобные записи выдает ошибку,
а AVRSTUDIO6 нет.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jul 28 2012, 06:32
Сообщение #4


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(skyv @ Jul 27 2012, 15:24) *
IAR на подобные записи выдает ошибку, а AVRSTUDIO6 нет.
Студия (точнее, avr-gcc), начал такое воспринимать после долгих плачей в подержке «а вот кто-то там такое умеет».

А вообще -- не понимаю желания иметь такую возможность. «Когда-то давно»™ сам сгенерировал h-файл с #define, но через неделю вытер.

«Присоединяясь к предыдущим ораторам», регистры периферии нужно заполнять именованными константами, а всякие там шрифты — генерировать из более приличного визуального представления.
Писал уже когда-то, что форма
Код
0b00011000,
0b00100100,
0b01000010,
мало помогает даже для шрифта, который для ускорения вывода хочется в памяти хранить зеркально и повёрнутым на 90°. А если ещё и хочется хранить сначала первые строки всех символов, потом все вторые, ..., то никакого счастья от 0b нет.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Jul 30 2012, 08:59
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Цитата(ReAl @ Jul 28 2012, 10:32) *
А если ещё и хочется хранить сначала первые строки всех символов, потом все вторые, ...,

Вопрос не в тему: а с чем связано такое желание?
Это оптимизация под 8-бит арифметику, чтобы индексы поменьше были?


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 05:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01406 секунд с 7
ELECTRONIX ©2004-2016