請教一些範例程式小問題~~
|
||||
---|---|---|---|---|
新會員
|
因為我還是新手,下面範例程式的小地方看不懂...
1.PORTD=(unsigned char)(AD_Result>>2); 為何中間要放unsigned char,假如不放的話會有何影響? 2.unsigned int AD_Result; 跟上面那行的關係? 3.OpenPWM2(0xff); 註解是寫set period to 0xFF,但看不懂是啥意思? 可以請懂的人為我解答嗎?(越詳細越好,希望能徹底理解...) #include <p18f4520.h> #include <adc.h> #include <pwm.h> #include <timers.h> void InitializeAD(void); void InitializePWM2(void); void InitializeTMR2(void); void InitializePORT(void); unsigned int AD_Result; void main(void) { InitializePORT( ); InitializePWM2( ); InitializeAD( ); InitializeTMR2( ); while(1) { ConvertADC(); while(BusyADC()); AD_Result=ReadADC(); SetDCPWM2(AD_Result); PORTD=(unsigned char)(AD_Result>>2); } } void InitializeAD(void) { OpenADC( ADC_FOSC_32 & ADC_RIGHT_JUST & ADC_4_TAD, ADC_CH0 & ADC_INT_OFF & ADC_REF_VDD_VSS, ADC_1ANA); } void InitializePWM2(void) { TRISCbits.TRISC1=0; OpenPWM2(0xff); } void InitializeTMR2(void) { OpenTimer2(T2_PS_1_4 & T2_POST_1_16); } void InitializePORT(void) { TRISD=0; PORTD=0x00; }
發表於: 2009/4/20 19:56
|
|||
|