| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Сигнал CLK |
| Автор: olenka1808las 10.6.2013, 10:07 |
| Как на С описать для сигнала CLK переход из 1 в 0,и потом из 0 в 1?помогите пожалуйста |
| Автор: borisbn 10.6.2013, 11:27 |
| olenka1808las, какой сигнал CLK ? Для какого устройства ? Вот возьми и попробуй перечитать свой вопрос непредвзятым взглядом. Типа, со стороны. |
| Автор: olenka1808las 10.6.2013, 11:46 |
| Вот по временной диаграмме нужно описать работу сдвигового регистра,чтобы считать данные (16разрядный код) с DOUT. Надо для этого цикл для CLK сделать,не могу сообразить как |
| Автор: bsa 10.6.2013, 12:02 | ||
olenka1808las, читать данные надо при изменении CLK с 0 на 1. Изменение с 1 на 0 тебе интересно не должно быть. Решается это так:
|
| Автор: olenka1808las 10.6.2013, 12:34 |
| unsigned char SCLK_LAST_STATE = PORTA.AN1 // допустим это пин клок // сохраняем состояние клока ... if (SCLK_LAST_STATE == 0 && PORTA.AN1 == 1) ... SCLK_LAST_STATE = PORTA.AN1; // опять сохраняем состояние клока это получается то же самое? |
| Автор: olenka1808las 10.6.2013, 13:42 |
| bsa, oldClk ^ clk, извините за глупый вопрос, но что означает знак ^ Я такого еще не встречала... |
| Автор: bsa 10.6.2013, 17:30 | ||
olenka1808las, побитовая операция XOR - "исключающая ИЛИ":
Добавлено через 5 минут и 57 секунд Да. Но на твоем бы месте, я значение PORTA (если это чтение порта) сохранял бы во временную переменную, а не читал бы 3 раза. На мой взгляд, это бы позволило сэкономить пару байт кода. |
| Автор: olenka1808las 11.6.2013, 03:21 | ||
я не особо разбираюсь во всем этом,и тот код не сама написала,и то что вы сказали не поняла... |