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

 
 
 
Reply to this topicStart new topic
deviel
сообщение Jun 14 2007, 14:51
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 22-03-07
Пользователь №: 26 403



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

нужно какое-нить 16-ричное чило из области памати
(переменную или константу - допустим, что пока это маловажно)
выдать в 2-ичном виде последовательности импульсов
(начиная с младшего разряда)
например число 0x4D (bx1001101) в импульсном представлении
будет выглядеть так:

Data _|_ _|_|_ _ _|_
Clock _|_|_|_|_|_|_|_

не знаю как побитно выдать последовательно число в двоичном коде.
просветите пожалуйста....
спасибо
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 14 2007, 15:09
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(deviel @ Jun 14 2007, 20:51) *
не знаю как побитно выдать последовательно число в двоичном коде.
просветите пожалуйста....

Предположим что в переменной data лежит ваше исходное число.
Макросы управления выводами контроллера определите сами. Я пишу их условно

Код
#define PIN_CLK        0x01
#define PIN_DATA       0x02
#define SET_DATA       P1OUT|=PIN_DATA
#define CLR_DATA       P1OUT&=~PIN_DATA
#define SET_CLK        P1OUT|=PIN_CLK
#define RESET_CLK      P1OUT&=~PIN_CLK

unsigned int data_mask=1;
for (unsigned int i=0; i<8; i++)
{ if ((data&data_mask)==0) CLR_DATA;
    else SET_DATA;
    SET_CLK;
/*здесь при необходимости можно вставить задержку*/
    RESET_CLK;
    data_mask<<=1;
/*здесь при необходимости можно вставить задержку*/
}
Go to the top of the page
 
+Quote Post
deviel
сообщение Jun 14 2007, 15:39
Сообщение #3





Группа: Новичок
Сообщений: 4
Регистрация: 22-03-07
Пользователь №: 26 403



пасиба. этого думаю уже достаточно. :)
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jun 14 2007, 19:47
Сообщение #4


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Если есть аппаратная возможность, то это можно сделать по SPI интерфейсу контроллера. Есть три пина: CLK (такт), MOSI (данные от контроллера), MISO (данные к контроллеру) и SS(разное назначение).


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 4 2007, 22:25
Сообщение #5


кекс
******

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



bb-offtopic.gif

Цитата
я совсем пока еще ламер.

Вообще-то ламер - это неизлечимо... Был тут один с курсом, вот тот как раз ламер..

2 deviel
Судя по вашему вопросу и ответу вы далеко не ламер, а просто начинающий.
Быть начинающим лучше чем ламером, т.к. начинающий может научиться и стать хорошим специалистом, а ламер - уже нет. Ламер навсегда остается ламером во всем..
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st June 2025 - 05:55
Рейтинг@Mail.ru


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