Главный Технолог
Зарегистрирован:
01.07.2011 19:44 Из: Тольятти
Сообщений:
305
|
Вы задавали вопрос: "Далее опять ждущий режим и ожидание?"
Отправлено: 12.07.2011 22:38
|
|
Главный Технолог
Зарегистрирован:
01.07.2011 19:44 Из: Тольятти
Сообщений:
305
|
да ждущий режим. Контроллер все время спит. Просыпается по внешнему прерыванию, работает только 16 битный таймер во время просыпания. Посыпается выполняет короткое действие и снова засыпает.
???
Отправлено: 12.07.2011 20:06
|
|
Главный Технолог
Зарегистрирован:
01.07.2011 19:44 Из: Тольятти
Сообщений:
305
|
А как сделать после цикла проверку на дребезг? Событие короткое.
Подскажите, пожалуйста.
Отправлено: 12.07.2011 0:08
|
|
Главный Технолог
Зарегистрирован:
01.07.2011 19:44 Из: Тольятти
Сообщений:
305
|
Здравствуйте. Проблема с дребезгом контактов. Кнопка китайская. Контроллер все время спит. Все выключено кроме 16 битного таймера для ШИМ сигнала. Просыпается по внешнему прерыванию по низкому уровню от кнопки. Делаю так: if (key == 0) delay(1000); if (key == 0) { while(!(key)); ... событие после уст. 0 } А надо сразу при первом только 0, а не после последнего. Подскажите, пожалуйста, как быть?
Отправлено: 11.07.2011 19:36
|
|
Главный Технолог
Зарегистрирован:
01.07.2011 19:44 Из: Тольятти
Сообщений:
305
|
Все понял. Спасибо огромное!!!
Если будут вопросы напушу)))
Отправлено: 06.07.2011 14:59
|
|
Главный Технолог
Зарегистрирован:
01.07.2011 19:44 Из: Тольятти
Сообщений:
305
|
И что такое 1U?
Отправлено: 06.07.2011 7:28
|
|
Главный Технолог
Зарегистрирован:
01.07.2011 19:44 Из: Тольятти
Сообщений:
305
|
Еще один вопрос. А почему такая запись
temp_data=temp_data<<1; temp_data|=(1U<<num_bit); // ? ? а если так temp_data |= 0x01;
Отправлено: 06.07.2011 7:27
|
|
Главный Технолог
Зарегистрирован:
01.07.2011 19:44 Из: Тольятти
Сообщений:
305
|
Подскажите пожалуйста, что значит (1U<<num_bit)?
if(num_bit==16) { flag_res=1; addr=(unsigned char)(temp_data>>8); data=(unsigned char)temp_data; } Это значит, что когда все 16 чисел приняты, значит temp_data смещаем на 8 символов вправо, конвертируем ее в чар и засовываем в addr; а вот в data в без смещения. А у нас сначала приходит адрес, а потом данные. Значит наверное надо поменять местами?
Отправлено: 06.07.2011 7:16
|
|
Главный Технолог
Зарегистрирован:
01.07.2011 19:44 Из: Тольятти
Сообщений:
305
|
Спасибо огромное!!!)))
Отправлено: 06.07.2011 7:01
|
|
Главный Технолог
Зарегистрирован:
01.07.2011 19:44 Из: Тольятти
Сообщений:
305
|
Так в этом то и проблема что не занятый только 1 таймер. Там есть один из вариантов преобразования в байт. Через косвенную адресацию делал(указатели). А потом проверка этих байтов(tmpdata - переменная для хранения байтов). в условии проверяю и потом уже действие в зависимости от рез-та истинности условия. Посмотри, пожалйста.
P.S. Спасибо, что помогаешь))) Это все я делаю на отдельных макетках. На которых разрабатываю протокол.(отдельная программа) А в самом уст-ве задействовано АЦП, таймер 1, таймер 0, TWI(I2C).
Отправлено: 05.07.2011 18:06
|
|