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

 
 
 
Reply to this topicStart new topic
> Чтение порта
TamTam
сообщение Mar 25 2007, 02:41
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 14-03-06
Пользователь №: 15 254



Задача PORTB.PIN 5 4 3 задают адрес устройства, тоесть максимум адресов может быть 9, как
за за одну строчку кода можно получить значение адреса ?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 25 2007, 02:59
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



uint8_t Addr = (PINB >>3 ) & 7;
Правда у меня в трех битах получается не больше 8 адресов wink.gif


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
prottoss
сообщение Mar 25 2007, 03:16
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(TamTam @ Mar 25 2007, 06:41) *
Задача PORTB.PIN 5 4 3 задают адрес устройства, тоесть максимум адресов может быть 9, как
за за одну строчку кода можно получить значение адреса ?
С помощью трех бит задать мона только 8 адресов:-). А получить мона, допустим, так (если имеется ввиду одна строчка Си-кода)

Код
PORTB = (PORTB & 0xС7) | ((addr << 3) & 0xС7)


--------------------
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 25 2007, 03:17
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Сергей Борщ @ Mar 25 2007, 01:59) *
Правда у меня в трех битах получается не больше 8 адресов wink.gif

..
Гена, нам дали 10 шоколадок, каждому по 8. smile.gif
..
Go to the top of the page
 
+Quote Post
TamTam
сообщение Mar 25 2007, 03:45
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 14-03-06
Пользователь №: 15 254



Цитата(Сергей Борщ @ 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

Сори тупля, спать всетаки надо
Go to the top of the page
 
+Quote Post
fate
сообщение Mar 25 2007, 05:09
Сообщение #6


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

Группа: Свой
Сообщений: 107
Регистрация: 12-01-05
Пользователь №: 1 915



000 - 0
001 - 1
010 - 2
100 - 4
011 - 3
111 - 7
101 - 5
110 - 6
111 - 7

7 шоколадок аж целых две штуки получаеться smile.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 25 2007, 05:52
Сообщение #7


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(TamTam @ Mar 25 2007, 02:45) *
а если так
000
001
010
100
011
111 <--
101
110
111 <-- тогда эта для чебурашки
Go to the top of the page
 
+Quote Post
TamTam
сообщение Mar 25 2007, 10:35
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 14-03-06
Пользователь №: 15 254



Цитата(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


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

что типо спать надо просто нестал удалять.
Go to the top of the page
 
+Quote Post

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

 


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


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