Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Разное > Курилка

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.09.2016, 21:25   #23
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: AVR (mega328p)

Цитата:
Сообщение от Admin Посмотреть сообщение
Если не создаются переменные и массивы, то оперативка не используется
для выделения битов используются битовые маски
Опять непонятно...
Допустим есть unsigned char x = 0x15; как проверить что первая часть равно единице и получить '5' для передачи в DDRD |=(_BV('5')); ?

Я могу завести вторую переменную, например так:
unsigned char x[2] ={0x01;0x05}
и обрабатывать :

if (x[0]==1){
DDRD |=(_BV(x[1]));
}
if (x[0]==0){
DDRD &= ~(_BV(x[1]));
}


Второй вариант легче в написании, как мне кажется.. а первый я себе пока не представляю.
Tohin вне форума   Ответить с цитированием
 


Здесь присутствуют: 7 (пользователей: 0 , гостей: 7)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:22. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика