DSPIC33F 사전의 PWM fonctionnality (것입니다 giv 내 포인트)

G

Guest

Guest
안녕하세요?나는 동안 작은 DSPIC33FJ16GS502에 대한 오전 근무합니다.내가 성공하지 않고 있지만 변환을 위해 PWM 등이 좋아할 사람처럼 내 트리거 ADC를.누구나 알고하는 방법은??내가 방아쇠 전용 그동안 찾고 주위에 특별 이벤트 트리거 및하지만 succes없이.내가 방해가 루프 밖으로와 ADC를 실행 아는 그것은 괜찮습 함수는 인터럽트 제 ADC가 있기 때문에 그것에 플래그를 재설정하지의 시작 전 프로그램과면

코드 ://***************** ADC가 ********************ADCONbits.ASYNCSAMP = 1; / / 끊임없이 샘플링

ADCONbits.FORM = 0; / / 정수 출력

ADCONbits.SLOWCLK = 0; / / ADC가 기본의 PLL (FVCO)에 의해 시계입니다

ADCONbits.SEQSAMP = 1;

ADCONbits.ADCS = 0; / / FADC / 1

ADCONbits.EIE = 1; / / 인터럽트가 완료된 후 변환을 먼저 생성됩니다

_SWTRG0 = 1;

ADPCFG = 0b1111111111111101; / / 모든 디지털지만 AN1

ADCPC0bits.TRGSRC0 = 0b00100; / / 00100 = PWM 등이 생성기 1 차 트리거 an0과 an1 위해 선택한

ADCPC0bits.IRQEN0 = 1; / / 사용 IRQ를 생성 및 채널 AN1의 전환을 요청 AN0가 완료되면

IPC3bits.ADIP은 = 7; / / ADC의 공통 인터럽트 우선순위 레벨 (1 급) 세트

IFS0bits.ADIF = 0; / / 지우기 ADC는 페어 0 인터럽트 플래그

IEC0bits.ADIE = 1; / / 인터럽트 ADC를 사용 쌍 0

/ / IFS6bits.ADCP1IF = 0;

/ / IEC6bits.ADCP1IE = 1;

/ / IPC27bits.ADCP1IP = 7; / / 7 최고 우선순위

SRbits.IPL = 0;//**************** PWM 등이

/ / PWMH과 PWML 활성 높은 위치와 PWM 모듈에 의해 푸쉬 - 당기에 제어

/ / 듀티 사이클 등록은 PDC1 및 업데이 트를 활성 MDC / PDCx / SDCx 등록하는 즉시 없습니다/ / 코드를 더 ...

/ /이 ADC를 실행하려고하면

이 레지스터에 / / 값은 캡처한의 PWM 타임베이스 값을 최첨단가 나타냅니다

/ / 전류 제한 입력에 대한 감지되었습니다.

TRGCON1 = 0;

SEVTCMP = 0X000F; / / 노력 것을 여기에

TRIG1 = 250; / / 기간 검색 트리거가 발생한다

STRIG1 = 0X000F;TRGCON1bits.TRGDIV = 0; / / 모든 트리거 이벤트 트리거

TRGCON1bits.TRGSTRT = 0; / / 트리거를 생성할 수 0의 PWM주기를 기다리는

TRGCON1bits.DTM = 0;/ / 추가 코드

ADCONbits.ADON = 1; / / ADC를 사용(1) 때;
 
미안하지만, 당신은 첨부 파일이 필요합니다 보려면 로그인을에

 
해결책을 생각해 내가 찾았지만 그것을 안 행복해.그것은 전환 솔기 그 중 TRIGx 생성 PWM 등이 방아쇠를 (PWMCON1bits.TRGSTAT 시작) ...내가 모르는 뭔가가 있어야합니다!

아직 여기를 찾는 데 도움이!
감사

조금 나중에 ....

뭔가 발견 Intresting, ADC가 있지만 업데이 트됩니다 생성하지 않습니다 인터럽트

코드 :무효의 __attribute__ ((, auto_psv 방해)) _PWM1Interrupt (무효)

(

(해당되는 경우 PWMCON1bits.TRGSTAT == 1)

(int an0, an1;

이중 오류 = 0;

/ / an0 = ADCBUF0; / / 읽기 AN0 변환 결과

an1 = ADCBUF1; / / 읽기 AN1 변환 결과

/ / _ADCP1IF = 0;

오류 = Vout - ((3.2 * an1/1024) * 연구 개발비);

브이 = 브이 (error/50);

PDC1 = DutyCycleDouble (1 - (빈 / 브이 ));//, 0.000,0.5);)

_PWM1IF = 0;

)
 
안녕, 친구들 ..
내가 전에 두 달 그랬던 것처럼 프로젝트를, 내가 사용하는 dspic33F32MC .. 난 단위의 PWM 필요한 시작을 계기로 전환주기를. 난 그럴 수 없었 시뮬레이션 할 MPLAB의 아래의 작업은. 나는 프로 테우스 프로그램에서 runned. 그리고 모두들했다 완벽하게 작동. 전 라인을 지원하는 마이크로 칩의 결정에 전화. 그들. 문서화 버그를 그리고 MPLAB의 얘기 내게 그 다음에 출시될 것입니다 올바른 그것을 엔지니어들이.

그래서 만약 내가 당신이 필요한 코드를 더 C의 도움을 게시 할 수 썼습니다!
know1하게 날

 

Welcome to EDABoard.com

Sponsor

Back
Top