termostat: Все сообщения за 3 Ноября 2005 года

 
ПнВтСрЧтПтСбВс
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

termostat

аксакал

"Serj78":
что означает такой синтаксис:

#define SW_LOW PORTG &= ~(1<<3)
 


Yuran уже ответил.

а я объясню зачем это:

обычно в ДШ указывают для тог-то сделать бит N таким-то, вот

что б в уме не вычислять шестнадцатиричную маску и чтоб не писать вот так длинно 0b00001000 (тут с нулями тоже можно запутаться и числа бывают 16 и 32 битными)

пишут так: (1<<N) - скобки для понятности.

еще:
- сдвинуть влево на N равно умножить на 2 в степени N
- сдвинуть вправо на N равно разделить на 2 в степени N

======

подробнее: "Битовые операции"

QIP.RU: почта, поиск, новости, знакомства, игры и развлечения

QIP.RU - новости и развлечения. Сайт объединяет в себе все необходимые пользователям сервисы: почту, поиск, знакомства, хранение данных: фото, видео, файлов, а так же широкий спектр различных онлайн игр.

// avr123.nm.ru
 




"Serj78":
я плохо знаю си...
 


советую "Руководство полного идиота - язык Си - Богатырев"

http://avr123.nm.ru/c_book.rar

QIP.RU: почта, поиск, новости, знакомства, игры и развлечения

QIP.RU - новости и развлечения. Сайт объединяет в себе все необходимые пользователям сервисы: почту, поиск, знакомства, хранение данных: фото, видео, файлов, а так же широкий спектр различных онлайн игр.

// avr123.nm.ru
 

termostat

аксакал

тогда не знаю, у меня работает и у многих тоже.

проверь что на 3.10 ограничений не было.

только AT90s2313 не пашет уже, а боле новые AVR работают без ограничений. ATmeg'i разные там Тини.

termostat

аксакал

я ж грю для однообразия.

ведь числа и 16 и 32 разрядные бывают - в нулях запуаешся.

а тут просто номер нужного бита (от 0 и выше) поДставить.

т.е. думать совсем не надо.

termostat

аксакал

Serj78> A я бы просто написал PORTG.3=1 и PORTG.3=0 :) - и по скорости исполнения было бы быстреее :) [»]

наверно вообще не будет компилится иль работать.

====

а я после этих дефайнов просто пишу в тексте прогграммы

SW_LOW; или

SW_HI;

т.е. сразу видно что происходит с линией SW модуля dp1203

этим и удобна директива define и потому так широко его применяют.

Удобно-с.

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru