Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

С наступающим...*DRINK* ... где в коде зарылся крот???(+)

Отправлено Stason 29 декабря 2006 г. 00:39


проблема такова:
данный фрагмент кода - это функция управления ШД, когда движок крутится в направлении по часовой(dir1 == 0) - все отлично, выжимает почти 4000Hz...
как только переключаюсь на (dir == 1),то движок начинает хаотично дергаться=((целый день просидел над прогой, а оказалось что функция косячит...)
сам код:
/**//////////////////////////////////////////**/
/**/ Step1(Frequency,Direction,Radius_mm) /**/
/**//////////////////////////////////////////**/
/**/void step1(unsigned short int t, /**/
unsigned short int dir1, /**/
unsigned short int countStepR)//t - Hz /**/
/**/{ /**/
/**/ while(countStepR > 0) /**/
/**/ { /**/
/**/ PORTD ^= BIT(4); /**/
/**/ /**/
/**/ if (dir1==0) /**/
/**/ { /**/
/**/ if(s1==8) /**/
/**/ { /**/
/**/ s1=0; /**/
/**/ } /**/
/**/ s1++;//po chasovoj /**/
/**/ } /**/
/**/ /**/
/**/ if (dir1==1) /**/
/**/ { /**/
/**/ if (s1==1) /**/
/**/ { /**/
/**/ s1=9; /**/
/**/ } /**/
/**/ s1--;//protiv chasovoj /**/
/**/ } /**/
/**/ /**/
/**/ PORTC=Parray[s1]; /**/
/**/ Delay(t); /**/
/**/ countStepR -- ; /**/
/**/ } /**/
/**/ /**/
/**/ /**/
/**/ /**/
/**/} /**/
/**//////////////////////////////////////////**/
////////////////////////////////////////////////

инициализация массива:
void massivInit(void)
{
Parray[1]=0x01;
Parray[2]=0x03;
Parray[3]=0x02;
Parray[4]=0x06;
Parray[5]=0x04;
Parray[6]=0x0C;
Parray[7]=0x08;
Parray[8]=0x09;
}

вызов функции:
if(button1 == 0)
{
step1(2000,1,8000);//w
}

код написан на ICCAVR

Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 56:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru