Показать сообщение отдельно
Старый 25.12.2009, 10:46   #419   
Форумец
 
Сообщений: 11
Регистрация: 08.08.2009
Возраст: 41

Denis124 вне форума Не в сети
Здраствуйте petrd . Немоглибы вы обяснить почему неработает пример из хелпа (запуск шым модуля )
Компилитса он без проблем но в протеусе тишына

unsigned short current_duty, old_duty, current_duty1, old_duty1;

void InitMain() {
ANSEL = 0; // Configure AN pins as digital I/O
ANSELH = 0;
PORTA = 255;
TRISA = 255; // configure PORTA pins as input
PORTB = 0; // set PORTB to 0
TRISB = 0; // designate PORTB pins as output
PORTC = 0; // set PORTC to 0
TRISC = 0; // designate PORTC pins as output
PWM1_Init(5000); // Initialize PWM1 module at 5KHz
PWM2_Init(5000); // Initialize PWM2 module at 5KHz
}

void main() {
InitMain();
current_duty = 16; // initial value for current_duty
current_duty1 = 16; // initial value for current_duty1

PWM1_Start(); // start PWM1
PWM2_Start(); // start PWM2
PWM1_Set_Duty(current_duty); // Set current duty for PWM1
PWM2_Set_Duty(current_duty1); // Set current duty for PWM2

while (1) { // endless loop
if (RA0_bit) { // button on RA0 pressed
Delay_ms(40);
current_duty++; // increment current_duty
PWM1_Set_Duty(current_duty);
}

if (RA1_bit) { // button on RA1 pressed
Delay_ms(40);
current_duty--; // decrement current_duty
PWM1_Set_Duty(current_duty);
}

if (RA2_bit) { // button on RA2 pressed
Delay_ms(40);
current_duty1++; // increment current_duty1
PWM2_Set_Duty(current_duty1);
}

if (RA3_bit) { // button on RA3 pressed
Delay_ms(40);
current_duty1--; // decrement current_duty1
PWM2_Set_Duty(current_duty1);
}

Delay_ms(5); // slow down change pace a little
}
}

На асм для такогоже пика все работает , а прога на С нехочет , в чом причина ?
Я думал примеры в хелпе рабочие или там ещо нада чото дописывать ?
Контролер 16F887 , компилятор microC PRO 3.2
И ещо если нетрудно подскажыте где microC PRO 3.2 выставлять биты конфигурацыи ?
  Ответить с цитированием