Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Вот теперь то же самое объясни мне, потому как в том же IARе на MSP430 биты определены не номерами битов, а масками, все пишут (BIT7 | BIT0) и не парятся. Если не использовать собственных присвоений, будет так же безошибочно и понятно.
Отправлено
Vladimir Ljaschko
25 апреля 2008 г. 15:41
В ответ на:
А это не только на Сях - на АСМ то же самое. Вкратце - для твоего же удобства, развернуто - внутри(+)
отправлено MBedder 25 апреля 2008 г. 15:08
/************************************************************
* STATUS REGISTER BITS
************************************************************/
#define C (0x0001)
#define Z (0x0002)
#define N (0x0004)
#define V (0x0100)
#define GIE (0x0008)
#define CPUOFF (0x0010)
#define OSCOFF (0x0020)
#define SCG0 (0x0040)
#define SCG1 (0x0080)
/* Low Power Modes coded with Bits 4-7 in SR */
#ifndef __IAR_SYSTEMS_ICC /* Begin #defines for assembler */
#define LPM0 (CPUOFF)
#define LPM1 (SCG0+CPUOFF)
#define LPM2 (SCG1+CPUOFF)
#define LPM3 (SCG1+SCG0+CPUOFF)
#define LPM4 (SCG1+SCG0+OSCOFF+CPUOFF)
/* End #defines for assembler */
#else /* Begin #defines for C */
#define LPM0_bits (CPUOFF)
#define LPM1_bits (SCG0+CPUOFF)
#define LPM2_bits (SCG1+CPUOFF)
#define LPM3_bits (SCG1+SCG0+CPUOFF)
#define LPM4_bits (SCG1+SCG0+OSCOFF+CPUOFF)
Составить ответ
|
Вернуться на конференцию
Ответы
Как в хедере впервые нопесали - так и тянется. Ничто, кроме лени и элементарной заботы о совместимости, не мешает переписать хедеры, или писать ldi r16,exp2(bit1)|exp2(bit2), или применять макросы
—
MBedder
(25.04.2008 16:51:5
80.92.96.19
,
пустое
)
sbi EECR, EEWE мешает - часть битов определять масками, а часть номерами - некузяво, лучше все номерами.
—
ReAl
(25.04.2008 18:29:32
193.111.248.46
,
пустое
)
Это да - повбывыв бы :))
—
MBedder
(25.04.2008 19:20:18
80.92.96.19
,
пустое
)
+1 Да в IAR'овских хидерах для MSP430xxx вообще всё очень , даже уютненько- не заблудиссси ;) чего не скажешь о даташитах. Но за столько времени и с этими гулениями (курениями) в них привыкаешь. Да и Компелл, смотрю , отслеживает неплохо.
—
Макаров
(25.04.2008 16:13:24
192.168.235.10, 77.235.200.210
,
пустое
)
У AVR в некоторых командах нужны номера битов, а не маски, а *.h файлы общие для С и для ассемблера (и тем более для ассемблерных вставок).
—
ReAl
(25.04.2008 15:51:20
193.111.248.46
,
пустое
)
Спасибо, теперь понял откуда эта хрень пошла :)
—
Vladimir Ljaschko
(25.04.2008 16:02:36
194.158.204.49
,
пустое
)
Там для ленивых макрос есть #define _BV(BIT) (1<<(BIT)), но мне привычнее сдвигами.
—
ReAl
(25.04.2008 16:28:51
193.111.248.46
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 97:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru