Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сигнал CLK 
:(
    Опции темы
olenka1808las
Дата 10.6.2013, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.6.2013

Репутация: нет
Всего: нет



Как на С описать для сигнала CLK переход из 1 в 0,и потом из 0 в 1?помогите пожалуйста

Это сообщение отредактировал(а) olenka1808las - 10.6.2013, 10:08
PM MAIL   Вверх
borisbn
Дата 10.6.2013, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



olenka1808las, какой сигнал CLK ? Для какого устройства ?
Вот возьми и попробуй перечитать свой вопрос непредвзятым взглядом. Типа, со стороны.


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
olenka1808las
Дата 10.6.2013, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.6.2013

Репутация: нет
Всего: нет



Вот по временной диаграмме нужно описать работу сдвигового регистра,чтобы считать данные (16разрядный код) с DOUT. Надо для этого цикл для CLK сделать,не могу сообразить как

Это сообщение отредактировал(а) olenka1808las - 10.6.2013, 11:47

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  20130610_121203.jpg 189,32 Kb
PM MAIL   Вверх
bsa
Дата 10.6.2013, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



olenka1808las, читать данные надо при изменении CLK с 0 на 1. Изменение с 1 на 0 тебе интересно не должно быть. Решается это так:
Код
if ((oldClk ^ clk) && clk) { //первая часть условия проверяет изменилась ли CLK, а вторая сравнивает с 1
   //код выполняется только если clk изменилась с 0 на 1
   ...
}
oldClk = clk;

PM   Вверх
olenka1808las
Дата 10.6.2013, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.6.2013

Репутация: нет
Всего: нет



unsigned char SCLK_LAST_STATE = PORTA.AN1 // допустим это пин клок
// сохраняем состояние клока
...
 if (SCLK_LAST_STATE == 0 && PORTA.AN1 == 1)
...
SCLK_LAST_STATE = PORTA.AN1; // опять сохраняем состояние клока

это получается то же самое?
PM MAIL   Вверх
olenka1808las
Дата 10.6.2013, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.6.2013

Репутация: нет
Всего: нет



bsa, oldClk ^ clk, извините за глупый вопрос, но что означает  знак ^  Я такого еще не встречала...
PM MAIL   Вверх
bsa
Дата 10.6.2013, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



olenka1808las, побитовая операция XOR - "исключающая ИЛИ":
Код
0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0


Добавлено через 5 минут и 57 секунд
Цитата(olenka1808las @  10.6.2013,  13:34 Найти цитируемый пост)
это получается то же самое? 
Да. Но на твоем бы месте, я значение PORTA (если это чтение порта) сохранял бы во временную переменную, а не читал бы 3 раза. На мой взгляд, это бы позволило сэкономить пару байт кода.

PM   Вверх
olenka1808las
Дата 11.6.2013, 03:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.6.2013

Репутация: нет
Всего: нет



Цитата(bsa @ 10.6.2013,  17:30)


Добавлено @ 17:36
Цитата(olenka1808las @  10.6.2013,  13:34 Найти цитируемый пост)
это получается то же самое? 
Да. Но на твоем бы месте, я значение PORTA (если это чтение порта) сохранял бы во временную переменную, а не читал бы 3 раза. На мой взгляд, это бы позволило сэкономить пару байт кода.

я не особо разбираюсь во всем этом,и тот код не сама написала,и то что вы сказали не поняла...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0950 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.