Большой Воронежский Форум

Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел.
Вернуться   Большой Воронежский Форум » Компьютеры и все, что с ними связано » »Радиолюбитель
Программирование микроконтролеров,ремонт аудио/видео/бытовой техники,полезные устройства для дома,телефония, обсуждение статей журнала Радио

Ответ
 
Опции темы
Старый 11.12.2010, 13:24   #721   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Азат Посмотреть сообщение
petrd, А тогда как отследить если я хочу включить и выключить светодиод т.е при поступление команды 1 вкл еще раз выключить. Если просто без toggle то при удерживание кнопки он будет моргать.А если условие что toggle 1 вкл и 0 выкл(то проблема при нажатие других кнопок приходиться несколь раз нажимать на кнопку 1).
2. А от этого Ан744 проекта исходников под MikroC 16а628а нет.
1. Проверять условие: если toggle изменилось на противоположное и пришел код кн. 1 - то изменить состояние светодиода на противоположное.
2. Можно определить в коде пары кнопок, например, кн. 1 - включает светодиод 1, кн. 2 - выключает светодиод 1, и т.д, при этом за toggle следить нет необходимости. Пульт-то ПДУ стандартный и кнопок на нем много.

Исходники-то есть, как же без них, но они не причесанные и не отформатированные.
  Ответить с цитированием
Старый 11.12.2010, 16:31   #722   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
petrd, Я так и делаю если изменилось тогле на 1 и код кнопки 1 то вкл если ноль то выкл.Смысл в том что если нажать на другую кнопку один раз а затем на кнопку 1 надо нажать два раза(чтобы включить к примеру).Попробуйте сами(как я понимаю если у меня светодиод горит от нажатие кнопки один неважно нажимал ли я кнопку два или три, при следующем нажатие на один он должен погасить светодиод( а ни при двух нажатиях)).
  Ответить с цитированием
Старый 11.12.2010, 20:10   #723   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Азат Посмотреть сообщение
Я так и делаю если изменилось тогле на 1 и код кнопки 1 то вкл если ноль то выкл.
Заметьте, не я сказал про проверку toggle на 0 или 1.
Я сказал
Цитата:
если toggle изменилось на противоположное и ....
а это совсем не одно и тоже.
  Ответить с цитированием
Старый 12.12.2010, 09:12   #724   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
Здраствуйте petrd, Простите за не внимательность сейчас попробую.Обновил MikroC Pro и все проблемы с зависанием исчезли.

if(IR.received == 1) {
switch(IR.command)
{
case 1: RA4_bit = ~RA4_bit; break; // на ПДУ нажата кнопка "1", переключить RA4
}
IR.received = 0;
}
Если рассматривать данный пример он же никак не должен включаться и выключаться от кнопки 2. Нажал один включился.нажал два.нажал один.нажал два выключился.

Последний раз редактировалось Азат; 12.12.2010 в 11:26.
  Ответить с цитированием
Старый 14.12.2010, 14:35   #725   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
Вот так правильно?
Цитата:
typedef unsigned char byte;
byte i;
byte Buf[8]={0xE3,0xD4,0x4A,0xF1,0x85,0xFF,0x65,0x20};

void Transmit(byte*b,byte u)
{
byte g=0,j=0,counts;
{
for(;u>0;u--)
counts = b[9];
for (i = 0; i < 12; i ++) //преамбула
{
RFOut = 1;
delay_us(TE);
RFOut = 0;
delay_us(TE);
}
delay_ms(4); // хедер
for (i=0;i<8;i++) // цыкл вывода байтов
{
g = b[i]; // считаем буфер
for (j=0;j<8;j++) // цикл вывода битов в байте
{
RFOut = 1; // вывод бита
delay_us(TE);
if (g&1)
RFOut = 0;
delay_us(TE);
RFOut = 0;
delay_us(TE);
g >>= 1;
}
}

delay_ms(10); // гуард тайм
} //end for u
} //end Transmi

void main(void)
{
CMCON = 7;
PORTB=0;
TRISB=1;
PORTA=0x7F;
TRISA=0;
//ACSR=0x80; Вот это что?
//-------------------
while (1)
{
if(Button(&PORTA, 0,1,0)) Transmit(Buf,1);
} //end while
} //end main

Последний раз редактировалось Азат; 14.12.2010 в 15:41.
  Ответить с цитированием
Старый 14.12.2010, 15:08   #726   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Азат, это код как раз и есть код по AN744 (даже имена переменных теже самые), только переписанный под mega8, hex-ы в посте 718, только у меня там вместо сообщений кейлока передаются два байта - номер комбинации кнопок и вычисляемая CRC8.
  Ответить с цитированием
Старый 14.12.2010, 15:26   #727   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
petrd, Пост исправил 726.Посмотрите все ли верно?

Последний раз редактировалось Азат; 14.12.2010 в 15:42.
  Ответить с цитированием
Старый 14.12.2010, 21:08   #728   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Азат Посмотреть сообщение
petrd, Пост исправил 726.Посмотрите все ли верно?
Это надо в компиляторе смотреть, в одних глазах правды нет. Во вложении мой проект "как есть".
P.S. Регистр ACSR в AVR наподобие CMCON в PIC.
Вложения
Тип файла: rar AN744_PWM_PIC16F628A.rar (73.7 Кб, 60 просмотров)
  Ответить с цитированием
Старый 15.12.2010, 07:21   #729   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
petrd, Спасибо огромное.
  Ответить с цитированием
Старый 15.12.2010, 12:51   #730   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
petrd, Подскажите пожалуйста как реализовать правильно нажатие кнопки т.е нажал "что то делает", отпустил "перестало".
  Ответить с цитированием
Старый 17.12.2010, 07:14   #731   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Азат Посмотреть сообщение
petrd, Подскажите пожалуйста как реализовать правильно нажатие кнопки т.е нажал "что то делает", отпустил "перестало".
Вариантов можно придумать несколько. Например, сделать счетчик по таймеру и в подпрограмме обработки принятой команды его сбрасывать. А в главном цикле следить за ним, если счетчик досчитал до нужного значения, т.е. какое-то время не было принято ни одной команды, то сбросить в исходное что не надо.
  Ответить с цитированием
Старый 17.12.2010, 12:01   #732   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Азат Посмотреть сообщение
Здраствуйте petrd, собрал в железе,почему то не работает.Единственное что поменял это убрал внешний вкарц в проекте т.е HS переключил Intosk i/o.Что может быть?
RT5 передатчик и RR10 приемник.
Именно это в железе не проверял, только в протеусе. Я этот код в железе давно делал. Работало. Попробуйте сначала соединить два контроллера напрямую без модулей.
  Ответить с цитированием
Старый 18.12.2010, 08:26   #733   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
petrd, Нашел все работает.обработка кнопок понравилась так граммотно написана т.е тикаем по 10 мс нажимаем проверяем состояние(при чем разные состояние кнопки).
Появилось пару вопросов:
1.Как сделать режим сна(sleep) для проекта tx чтоб его потом можно было разбудить любой кнопой(сколько времени занимает разбудить).
2.Как расчитать с каким номиналом поставить резистор если питание будет 3 вольта к примеру.
3.Сколько времени занимает посылка сигнала(т.е при нажатие кнопки стоит задержка 100 мс это довольно долго).

Последний раз редактировалось Азат; 18.12.2010 в 16:52.
  Ответить с цитированием
Старый 19.12.2010, 09:49   #734   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Азат Посмотреть сообщение
petrd, Нашел все работает.обработка кнопок понравилась так граммотно написана т.е тикаем по 10 мс нажимаем проверяем состояние(при чем разные состояние кнопки).
Появилось пару вопросов:
1.Как сделать режим сна(sleep) для проекта tx чтоб его потом можно было разбудить любой кнопой(сколько времени занимает разбудить).
2.Как расчитать с каким номиналом поставить резистор если питание будет 3 вольта к примеру.
3.Сколько времени занимает посылка сигнала(т.е при нажатие кнопки стоит задержка 100 мс это довольно долго).
Автор обработчика кнопок Виктор Тимофеев (tester), за что ему большое спасибо.
1. Для сна надо использовать кнопки подключенные к RB7-RB4 и прерывание RBIE.
2. Какой резистор? Для чего?
3. Так уберите задержку.
  Ответить с цитированием
Старый 19.12.2010, 12:40   #735   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
petrd, Виктор Тимофеев вам спасибо.
1.Не обижайтесь я еще только учусь
Усыпляю командой asm{sleep}; да и MCLR должен быть включен?
Цитата:
while (1)
{
if(tick >= 10 ms)
{
Task_Buttons ();
tick = 0;
}
if(m_Buttons.ucPressed)
{
kp = m_Buttons.ucPressed;
ks = CRC8(m_Buttons.ucPressed); // расчет КС
GIE_bit = 0;
TX_data(kp,ks); // передача посылки
GIE_bit = 1;
delay_ms(15);
}
asm{sleep};
}
}
Теперь на счет прерывания
void main()
RBIE=1; т.е говорю ему от ног RB что еще нужно?
  Ответить с цитированием
Старый 19.12.2010, 19:27   #736   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Азат Посмотреть сообщение
Усыпляю командой asm{sleep}; да и MCLR должен быть включен?
Теперь на счет прерывания
void main()
RBIE=1; т.е говорю ему от ног RB что еще нужно?
Усыпляйте.
Куда включен? Если он в битах конфигурации - как вход, то можно как вход использовать, иначе подтянуть к питанию.
Конечно, нужно. Почитать про то как работает прерывание RBIE и правильно написать код обработчика. И читать, читать, читать.
  Ответить с цитированием
Старый 20.12.2010, 12:47   #737   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
Здраствуйте petrd, все приходит с пониманием поверьте я читаю.Сделал так но что то не работает.
Цитата:
void interrupt (void)
{
if (TMR2IE_bit && TMR2IF_bit)
{
TMR2IF_bit = 0;
tick++;
}
if ( RBIF_bit )
{ RBIE_bit = 0 ;
RBIF_bit = 0 ;}
}

void main() {
kp=0;
ks=0;
m_Buttons.ucPressed = 0;
CMCON = 0x07;
PORTB = 0;
TRISB = 0xF7;
PR2 = PR2_CONST; // Настройка TMR2
T2CON = T2CON_CONST | 0x04;
TMR2IE_bit = 1;
PEIE_bit = 1;
GIE_bit = 1;
RBIE_bit = 1 ;
while (1)
{
if(tick >= 10 ms)
{
Task_Buttons ();
tick = 0;
}
if(m_Buttons.ucPressed)
{
kp = m_Buttons.ucPressed;
ks = CRC8(m_Buttons.ucPressed); // расчет КС
GIE_bit = 0;
TX_data(kp,ks); // передача посылки
GIE_bit = 1;
delay_ms(15);
}
asm { sleep } ;
}
}
  Ответить с цитированием
Старый 20.12.2010, 13:42   #738   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Азат Посмотреть сообщение
Здраствуйте petrd, все приходит с пониманием поверьте я читаю.Сделал так но что то не работает.
И не будет работать. Программа виснет в прерывании, т.к. не убирается неоднозначность. Почитайте посты #598 и #603 и в том районе.
И вот еще что. Чтобы переменная m_Buttons.ucPressed приняла правильное значение обработчик кнопок Task_Button() должен отработать несколько проходов. А по Вашему коду программа после первого же прохода Task_Button() уйдет в Sleep. Программе после выхода из Sleep (т.е. нажатия кнопки) надо дать время, чтобы Task_Button() отработала сколько надо и только потом разрешать Sleep.
  Ответить с цитированием
Старый 20.12.2010, 15:30   #739   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
А так делаем два прохода?
Цитата:
void interrupt (void)
{
if (TMR2IE_bit && TMR2IF_bit)
{
TMR2IF_bit = 0;
tick++;
tick1++;
}
if ( RBIF_bit )
{
RBIE_bit = 0 ;
RBIF_bit = 0 ;}
}

void main() {
kp=0;
ks=0;
m_Buttons.ucPressed = 0;
CMCON = 0x07;
PORTB = 0;
TRISB = 0xF7;
PR2 = PR2_CONST; // Настройка TMR2
T2CON = T2CON_CONST | 0x04;
TMR2IE_bit = 1;
PEIE_bit = 1;
GIE_bit = 1;
RBIF_bit = 0;
RBIE_bit = 1 ;
while (1)
{
if(tick >= 10 ms)
{
Task_Buttons ();
tick = 0;
}
if(m_Buttons.ucPressed)
{
kp = m_Buttons.ucPressed;
ks = CRC8(m_Buttons.ucPressed); // расчет КС
GIE_bit = 0;
TX_data(kp,ks); // передача посылки
GIE_bit = 1;
delay_ms(15);
}
if(tick1 >= 20 ms);
{asm{sleep};
tick1=0;}
}
}
  Ответить с цитированием
Старый 20.12.2010, 21:46   #740   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Азат Посмотреть сообщение
А так делаем два прохода?
Мало. Подавление дребезга в лучшем случае происходит за четыре прохода, в худшем - неизвестно.
  Ответить с цитированием
Старый 21.12.2010, 08:17   #741   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
Делаю десять проходов не просыпается
Цитата:
void interrupt (void)
{
if (TMR2IE_bit && TMR2IF_bit)
{
TMR2IF_bit = 0;
tick++;
}
if (RBIF_bit==1)
RBIF_bit = 0;
}
}

void main() {
kp=0;
ks=0;
m_Buttons.ucPressed = 0;
CMCON = 0x07;
PORTB = 0;
TRISB = 0xF7;
PR2 = PR2_CONST; // Настройка TMR2
T2CON = T2CON_CONST | 0x04;
TMR2IE_bit = 1;
PEIE_bit = 1;
GIE_bit = 1;
RBIF_bit = 0;
RBIE_bit = 1 ;

while (1)
{
if(tick >= 10 ms)
{
Task_Buttons ();
tick = 0;
tick1++;
}
if(m_Buttons.ucPressed)
{
kp = m_Buttons.ucPressed;
ks = CRC8(m_Buttons.ucPressed); // расчет КС
GIE_bit = 0;
TX_data(kp,ks); // передача посылки
GIE_bit = 1;
delay_ms(15);
}
if(tick1 >=10);
{asm sleep;
tick1=0;}
}
}
  Ответить с цитированием
Старый 21.12.2010, 10:47   #742   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Азат Посмотреть сообщение
Делаю десять проходов не просыпается
Да просыпается он, но из прерывания выйти не может. Я же уже говорил - виснет в прерывании RBIE, потому что не убирается неоднозначность. В прерывании надо PORTB прочитать или записать, чтобы ее убрать. А пока работает обработчик кнопок, прерывание RBIE использовать нельзя.
Код:
void interrupt (void)
{
 unsigned short tmp;
.........
if (RBIF_bit && RBIE_bit)
{
tmp = PORTB; // убрали неоднозначность
RBIE_bit = 0; // запретить прерывания по RBIE пока не спим 
RBIF_bit = 0;
}
}

.....
RBIE_bit = 1 ; // отсюда убрать нахрен
..........
if(tick1 >=10);
{
tick1=0;
RBIE_bit = 1; // здесь разрешить прерывание
asm sleep;    // и сразу в сон
// по выходу из сна (по нажатию) окажемся в прерывании 
}
Как-то так.

Последний раз редактировалось petrd; 21.12.2010 в 11:36.
  Ответить с цитированием
Старый 21.12.2010, 11:53   #743   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
petrd, tmp = PORTB; // убрали неоднозначность я увидел у других но не понимал для чего. Спасибо.
  Ответить с цитированием
Старый 21.12.2010, 12:17   #744   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
Не просыпаеться не в протезе ни в железе.Попробывал и в порт записать.
Ошибка где в прерывание RBIE_bit = 1; как только я его разрешил все тишина.

Цитата:
void interrupt (void)
{unsigned short tmp;
if (TMR2IE_bit && TMR2IF_bit)
{
TMR2IF_bit = 0;
tick++;
}
if (RBIF_bit && RBIE_bit)
{
tmp = PORTB; // убрали неоднозначность
RBIE_bit = 0; // запретить прерывания по RBIE пока не спим
RBIF_bit = 0;
}
}

void main() {
kp=0;
ks=0;
m_Buttons.ucPressed = 0;
CMCON = 0x07;
PORTB = 0;
TRISB = 0xF7;
PR2 = PR2_CONST; // Настройка TMR2
T2CON = T2CON_CONST | 0x04;
TMR2IE_bit = 1;
PEIE_bit = 1;
GIE_bit = 1;
RBIF_bit = 0;

while (1)
{
if(tick >= 10 ms)
{
Task_Buttons ();
tick = 0;
tick1++;
}
if(m_Buttons.ucPressed)
{
kp = m_Buttons.ucPressed;
ks = CRC8(m_Buttons.ucPressed); // расчет КС
GIE_bit = 0;
TX_data(kp,ks); // передача посылки
GIE_bit = 1;
delay_ms(15);
}
if(tick1 >=20);
{tick1=0;
RBIE_bit = 1; // здесь разрешить прерывание
asm sleep; // и сразу в сон
}
}
}

Последний раз редактировалось Азат; 21.12.2010 в 13:05.
  Ответить с цитированием
Старый 21.12.2010, 13:33   #745   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Азат Посмотреть сообщение
Не просыпаеться не в протезе ни в железе.Попробывал и в порт записать.
Ошибка где в прерывание RBIE_bit = 1; как только я его разрешил все тишина.
Попробуйте еще так:
Код:
if(tick1 >=20);
 {
  tick1=0;
  тут прочитать PORTB
  RBIF = 0;
  RBIE_bit = 1; // здесь разрешить прерывание
  asm sleep; // и сразу в сон
}
  Ответить с цитированием
Старый 21.12.2010, 13:48   #746   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
petrd, Тоже самое.Ну уже если закомментировать asm sleep работает не виснет т.е прерывание отрабатывает,но не просыпаеться.

Последний раз редактировалось Азат; 21.12.2010 в 14:05.
  Ответить с цитированием
Старый 21.12.2010, 13:58   #747   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Повесьте светодиод на какой-нибудь свободный вывод и зажигайте в разных местах программы, чтобы вычислить где проблема.
  Ответить с цитированием
Старый 21.12.2010, 14:17   #748   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
petrd, Так и сделал т.е все работает нормально одна ошибка лишняя ";".

[QUOTE] void main() {
unsigned short tmpp;
kp=0;
ks=0;
m_Buttons.ucPressed = 0;
CMCON = 0x07;
PORTB = 0;
PORTA = 0;
TRISA = 1;
TRISB = 0xF7;
PR2 = PR2_CONST; // Настройка TMR2
T2CON = T2CON_CONST | 0x04;
TMR2IE_bit = 1;
PEIE_bit = 1;
GIE_bit = 1;
RBIF_bit = 0;
while (1)
{
if(tick >= 10 ms)
{
Task_Buttons ();
tick = 0;
tick1++;
RA2_bit = ~RA2_bit;
}
if(m_Buttons.ucPressed)
{ RA3_bit = ~RA3_bit;
kp = m_Buttons.ucPressed;
ks = CRC8(m_Buttons.ucPressed); // расчет КС
GIE_bit = 0;
TX_data(kp,ks); // передача посылки
GIE_bit = 1;
delay_ms(15);
}
if(tick1 >20);
{
tick1=0;
RA1_bit = ~RA1_bit;
tmpp = PORTB;
RBIE_bit = 1; // здесь разрешить прерывание
asm sleep; // и сразу в сон
}
}
} QUOTE]

Последний раз редактировалось Азат; 14.01.2011 в 09:43.
  Ответить с цитированием
Старый 24.12.2010, 22:24   #749   
Форумец
 
Аватар для Butik
 
Сообщений: 36
Регистрация: 19.10.2010
Возраст: 58

Butik вне форума Не в сети
Цитата:
Сообщение от petrd Посмотреть сообщение
Когда написано:
Код:
....
  CMCON = 0x04;
......
 while(CMCON.F6 == 1)
                 {
                  old_GPIO.F4 =1;
                  GPIO = old_GPIO;
                 }
при включении проверяется состояние GP5, и если оно 0 (а такое легко может быть и вообще мы можем попасть в любой момент времени периода повторения импульсов синхронизации 50 Гц, что в итоге приведет к тому, что конденсатор либо вообще никогда не начнет заряжаться, либо не успеет зарядится до нужного уровня), то попадаем в проверку while, а так как у нас перед этим ни одного цикла зарядки конденсатора не было (или он был, но короткий, т.е. недозаряд), то и имеем COUT = 1 ( VIN+ > VIN-) и дальше незапланированный вечный цикл из которого можно выйти только когда конденсатор заряжен, а чтобы зарядить - надо выйти из цикла - замкнутый круг. И, вообще, мы же с сетью не синхронизированы, то рано или поздно такой момент возникает.
А когда используется if, то никакого вечного цикла быть не может.
Как-то так.
Прошу прощения господ форумчан за долгое отсутствие- был занят другой работой


А вот немного не понятно... какая разница- просто импульсы 50герц для синхронизации или сеть... - 10 миллисекунд заряд конденсатора - а потом следующие 10- порт на вход перестраивается- включается компаратор и ожидается разряд конденсатора до уровня ниже опорного напряжения
  Ответить с цитированием
Старый 27.12.2010, 13:43   #750   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
С наступающим всех!
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind