Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Чтение порта
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
TamTam
Задача PORTB.PIN 5 4 3 задают адрес устройства, тоесть максимум адресов может быть 9, как
за за одну строчку кода можно получить значение адреса ?
Сергей Борщ
uint8_t Addr = (PINB >>3 ) & 7;
Правда у меня в трех битах получается не больше 8 адресов wink.gif
prottoss
Цитата(TamTam @ Mar 25 2007, 06:41) *
Задача PORTB.PIN 5 4 3 задают адрес устройства, тоесть максимум адресов может быть 9, как
за за одну строчку кода можно получить значение адреса ?
С помощью трех бит задать мона только 8 адресов:-). А получить мона, допустим, так (если имеется ввиду одна строчка Си-кода)

Код
PORTB = (PORTB & 0xС7) | ((addr << 3) & 0xС7)
defunct
Цитата(Сергей Борщ @ Mar 25 2007, 01:59) *
Правда у меня в трех битах получается не больше 8 адресов wink.gif

..
Гена, нам дали 10 шоколадок, каждому по 8. smile.gif
..
TamTam
Цитата(Сергей Борщ @ Mar 25 2007, 02:59) *
uint8_t Addr = (PINB >>3 ) & 7;
Правда у меня в трех битах получается не больше 8 адресов wink.gif



Цитата(defunct @ Mar 25 2007, 03:17) *
..
Гена, нам дали 10 шоколадок, каждому по 8. smile.gif
..



Вот то вы народ даете, я думал что только мне неспиться.

а если так
000
001
010
100
011
111
101
110
111

Сори тупля, спать всетаки надо
fate
000 - 0
001 - 1
010 - 2
100 - 4
011 - 3
111 - 7
101 - 5
110 - 6
111 - 7

7 шоколадок аж целых две штуки получаеться smile.gif
defunct
Цитата(TamTam @ Mar 25 2007, 02:45) *
а если так
000
001
010
100
011
111 <--
101
110
111 <-- тогда эта для чебурашки
TamTam
Цитата(fate @ Mar 25 2007, 05:09) *
000 - 0
001 - 1
010 - 2
100 - 4
011 - 3
111 - 7
101 - 5
110 - 6
111 - 7

7 шоколадок аж целых две штуки получаеться smile.gif


Да я заметил сразу когда написал по этому и исправил месадж

что типо спать надо просто нестал удалять.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.