3_pwm

T

Tom2

Guest
Psal jsem kód pod vytvářet 3-kanálový PWM.Is někoho, kdo ví, co je špatně, protože nefunguje ???????????
# Include <18F4550.h>
# Přístroj ADC = 16
# USE zpoždění (CLOCK = 4000000)
# Pojistky XT, NOWDT, NOPROTECT, NOLVP
void main ()
(
dlouho adc_result;
while (1) (
setup_adc_ports (ALL_ANALOG);
setup_adc (ADC_CLOCK_div_16);
set_adc_channel (0);
delay_ms (1);
adc_result = read_adc ();
setup_ccp1 (CCP_PWM_H_H);
setup_timer_2 (T2_DIV_BY_1, 255, 1);
delay_ms (1);
adc_result = read_adc ();delay_ms (1);
setup_adc_ports (ALL_ANALOG);
setup_adc (ADC_CLOCK_div_16);
set_adc_channel (1);
delay_ms (1);
adc_result = read_adc ();
setup_ccp1 (CCP_PWM_H_L);
setup_timer_2 (T2_DIV_BY_1, 255, 1);
delay_ms (1);
adc_result = read_adc ();delay_ms (1);
setup_adc_ports (ALL_ANALOG);
setup_adc (ADC_CLOCK_div_16);
set_adc_channel (2);
setup_ccp1 (CCP_PWM_L_H);
setup_timer_2 (T2_DIV_BY_1, 255, 1);
delay_ms (1);
adc_result = read_adc ();

)
)

 
3 PWMs?
Nevidím na které piny čekáte PWMs??
A jaké jsou ty hodnoty ADC určen pro?
Myslím, že máš zmatený mezi DAC a ADC.ADC je určen pro měření analogových signálů, a ne vytvářet to.

 
3 PWM takken od pinů: 1 PWM -> pin 17, 2 PWM -> pin 28, 3 PWM -> pin 29

ADC čtení znamenalo: že číst analogový vstup a vnitřní převodník (ADC) je převést analogové na digitální signal.Microcontroller vzít digitalsignal a ČKS vyrábět PWM.For 1 kanál to funguje dobře.

 
Neinicializujte periferie uvnitř smyčky.
Inicializovat je pouze jednou .. takhle
Kód:void main ()

(

dlouho adc_result;setup_adc_ports (ALL_ANALOG);

setup_adc (ADC_CLOCK_div_16);

setup_timer_2 (T2_DIV_BY_1, 255, 1);

setup_ccp1 (CCP_PWM_H_H);

setup_ccp2 (CCP_PWM_H_H);while (1) (

set_pwm1_duty (50);

set_pwm2_duty (50);

delay_ms (1000);

set_pwm1_duty (200);

set_pwm2_duty (200);

delay_ms (1000);

)

)

 
Tento kód jsem věřil, nemají za následek, že i want.I používat pouze ccp1.And chci generovat 3 PWM u toho 3 výkonu.
Takže nemůžu napsat jednou setup_ccp1 (CCP_PWM_H_H), (věřím)
Pokud se mýlím, prosím, řekněte mi pravdu.

Díky

 
Není možné vytvořit 3 PWMs pomocí pouze 1 CCP.
Přejete si, aby byly na stejné duty-cyklu nebo jiný?

 

Welcome to EDABoard.com

Sponsor

Back
Top