Форум Trainsim  

Вернуться   Форум Trainsim > Разное > IT, компьютеры, электроника

 
 
Опции темы Опции просмотра
Старый 19.07.2017, 00:57   #1
Dublin
Матёрый пользователь
 
Аватар для Dublin
 
Регистрация: 24.05.2010
Адрес: Херсон
Сообщений: 1,565
Вы сказали Спасибо: 871
Поблагодарили 695 раз(а) в 285 сообщениях
Dublin стоит на развилке (репутация по умолчанию)
По умолчанию Микроконтроллеры. Всё обо всём.

Решил я немного поизучать эти все дела микроконтрольные (через книжки естественно), и весь вечер ломаю голову над одной проблемой.
Покажу фрагмент программы (микро attiny 2313)
Скрытый текст:

if ((PIND&(1<<PD0))==0)
{
perem=0b10000000;
while(perem !=0)
{
PORTB = ~perem;
perem= perem >> 1;
_delay_ms(200);

}
}
else {
perem=0x00000001;
while (perem !=0) {
PORTB = ~perem;
perem= perem << 1;
_delay_ms(200);

Программа простая как двери: есть 8 светодиодов, которые должны переключатся одна за другой. Не понятен принцип работы цикла с инверсией(~). Если убрать инверсию, то переключение ламп в этом случае происходит, но горят одновременно все лампы.
Если изначально включить инверсию (~perem) то байт 0x00000001 станет 0x11111110, тогда за счет открытости порта должны гореть 7 из 8 ламп (я так думаю, но так не происходит) А дальше по программе если двигать единицу и инвертировать байт, то вообще нифига не пойму, как тогда переключение происходит. Вообщем кто в этом понимает, - объясните на пальцах, пожалуйста.
__________________
хоп хэй лалалэй

Последний раз редактировалось Dublin; 19.07.2017 в 01:01.
Dublin вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо Dublin за это полезное сообщение:
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Winamp велел всем жить долго. E.depo IT, компьютеры, электроника 16 29.11.2013 23:55
установка дополнений: пропускать всё или заменять всё? alevlaslo TrainZ — Об игре 18 24.08.2011 10:40
Тухнет сигнализация на всем маршруте DAVID75 MSTS - Маршруты 6 05.11.2010 19:25
Обо всём, что может ещё понадобиться в законченном маршруте кроме КС, полотна и сигн. NickLon TrainZ - Маршруты и сценарии 28 20.07.2008 07:08


Текущее время: 13:38. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim
TopList Нажми для появления дома Trainsim на карте Intermap
Что это?