[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответы?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Mik 09 января 2002 г. 15:52
В ответ на: Оно не работает даже в совсем простом примере, где больше не используются никакие прерывания отправлено nkam 09 января 2002 г. 15:13

Я так понял, Вам просто нужно сгенерить меандр на ноге P3.3.
Мне не приходилось использовать T2 и T3 так, как их используете Вы, поэтому я не читал доку до последней запятой, но в Вашем примере некоторые вещи настораживают.
Во-первых, T3CON=0x880. Старший бит константы 0x880 попадает в T3CON.11, куда ничто попадать не должно. Во вторых, T3 может сам, без прерываний, дёргать ногу T3OUT (P3.3). Перед этим надо не забыть сделать DP3.3 = P3.3 = 1. И ещё, Вы как-то странно инвертируете P3.3. Обычно это делают так:
sbit P3_3 = P3 ^ 3;
//...
P3_3 = ~P3_3;
или так:
P3 = P3 ^ 8; // но этот способ может иметь побочные эффекты
Моё предложение: убрать прерывание и ещё раз проверить значения регистров конфигурации.
С уважением, Михаил.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru