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

 
 
> Не могу понять, что значит эта запись!, Описание массивов в IAR 5.30
MaksimYrievich
сообщение Aug 10 2009, 17:55
Сообщение #1


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

Группа: Участник
Сообщений: 79
Регистрация: 10-08-09
Пользователь №: 51 828



Уважаемые профессионалы и любители программирования в IAR! У меня проблема! Не могу сообразить, что означает ниже следующий код. Просто не могу сообразить, что означают эти директивы (хелп IARa не предлагать!). Подскажите пожалуйста, вразумите! А вот собственно и код:

__no_init UCHAR usbRxBuf[2][USB_BUFSIZE] __attribute__ ((section (USB_BUFFER_SECTION))) IAR_SECTION(USB_BUFFER_SECTION); /* raw RX buffer: PID, 8 bytes data, 2 bytes CRC */

А в файле stdafx.h сказано, что:

#define __attribute__(arg)
#define IAR_SECTION(section) @ section
#define UCHAR unsigned char

Со строчкой про UCHAR я разобрался!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AVRall
сообщение Nov 14 2009, 08:24
Сообщение #2





Группа: Участник
Сообщений: 8
Регистрация: 14-11-09
Из: Ульяновск
Пользователь №: 53 612



Ребят, я новичек поэтому вопрос соответствующий положению )) вот работающая запись
if(PINC & (1<<PINC0)) ;
else N=N+1;
проверяю нажата ли кнопка на PIN C0. Поосто if(PINC & (1<<PINC0)) не работает. Как мне можно провериь состояние кнопки без else ? if(PINC0==0b1) не робит.. И непонятна сама запись (PINC & (1<<PINC0)) это маска ?
Go to the top of the page
 
+Quote Post
Палыч
сообщение Nov 14 2009, 08:58
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(AVRall @ Nov 14 2009, 11:24) *
Как мне можно провериь состояние кнопки без else ?

Вы, наверное, вот так хотели?
if( (PINC & (1<<PINC0) ) == 0 ) N=N+1;
Go to the top of the page
 
+Quote Post
AVRall
сообщение Nov 14 2009, 09:48
Сообщение #4





Группа: Участник
Сообщений: 8
Регистрация: 14-11-09
Из: Ульяновск
Пользователь №: 53 612



Цитата(Палыч @ Nov 14 2009, 11:58) *
Вы, наверное, вот так хотели?
if( (PINC & (1<<PINC0) ) == 0 ) N=N+1;

ДАААА ! ! ! Спасибо, ни человек а ЧЕЛОВЕЧИЩЕ ! ! Уже 10й день кнопку мучаю ! А можно узнать логику этого выражения (PINC & (1<<PINC0) ) == 0 ?
Go to the top of the page
 
+Quote Post
SM
сообщение Nov 14 2009, 10:02
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(AVRall @ Nov 14 2009, 12:48) *
А можно узнать логику этого выражения (PINC & (1<<PINC0) ) == 0 ?


Сначала считается конъюнкция PINC и единицы, сдвинутой влево на PINC0 бит, и потом сравнение результата с нулем. Можно было проще записать if ( !(PINC & (1<<PINC0)) )
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 20:01
Рейтинг@Mail.ru


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