-"그만 PWM 출력이 낮은가있는 방 - (간단한 포함)를 다시 시작합니다

A

atferrari

Guest
마이크로의 PIC 16F628 - PWM 신호를 DC 모터 제어하는 데 사용, 중단했을 때, PWM 출력 핀 ()이 낮은 RB3이 필요합니다.
but realized that the output stays high, most of the times, so I resorted to add CLRF CCPR1L
.

처음에, 난 (틀린) BCF 원사 T2CON, TMR2ON
시도하지만 출력이 높은, 시대의, 그래서 가장 많이 나는 CLRF CCPR1L
추가 resorted 유지 깨달았다.여전히 같은 문제가 되나??!!
The CCP1 pin is set (exception: if PWM duty cycle = 0%, the CCP1 pin will not be set)

매뉴얼 올린사람 :
CCP1 핀 (예외 : 만약의 PWM 듀티 사이클 = 0 %, CCP1 핀 설정되지 않습니다)로 설정되어있습니다

질문) 어떻게 그런 결과를 얻을하지 않는 이유가 될 수 있을까?
-------------------------------------------------- ---------------------I've got the output becoming low.

나중에, CLRF CCP1CON와
난 낮은 출력되고 있어요.
to stop the PWM with output pin low?

질문 b)는 이미 CLRF CCP1CON보다
출력이 낮은 핀 PWM을 중지 간단한 방법이 있나요?

난 다시 PWM을 같이 필요한 경우 (나) 그리고 나서,, 재장전 B4의 방법이? 피할 수 : b5 LSB가 듀티 사이클의 가치와 그것을 설정해야합니다 다시 시작합니다.난 그걸 막으려고 peripheric의 설정을 변경하는 느낌이 올바르지 않은 경우 (또는 적어도, 과도한!)

Agustín 토마스

 
당신이 가까이 진짜 해결책은있습니다, 그래서 앞뒤로 전환 쉽지 않은 것 같아요.

제발이 : 비트 포트의 출력을 보장하려고 초기화 루틴에서 지워집니다, 전에 PWM을 사용하여 시작합니다.
그럼, 대신에 clrf CCP1CON하고, 분명히 그냥 지난 4 비트 :

movlw 0xF0
andwf CCP1CON로, F

그것과 PWM을 리셋 래치 포트 제어를 반환해야합니다.

다시 시작하려면, 비트 2 세트와 3 CCP1CON (또는 0
~ 3)

movlw 0x0C; (또는 movlw 0xF0)
iorwf CCP1CON로, F

해봐, 난 그것을 작동하지 않을 수 있지만, 나는 그것을해야한다고 생각.

 
답장 주셔서 감사합니다.문제의 이유를 찾을 수 없음 : 제가 TMR2 중단됐다, 내가 뭘해야하지.<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="우는 또는 아주 슬픈" border="0" />

하지만 이미 CCPR1L 제대로 비활성화되었습니다 계산이 지워졌습니다.
.

낮은 출력을 올바른 방법으로하고있습니다 CCPR1L 및 CCP1CON b5 : B4에 = 0.

is enough.

내 경우엔, CCP1CON b5 : B4에 항상 = 0 이렇게 CLRF CCPR1L
정도입니다.
, the output pin goes high

일단 새로운 듀티 사이클 값을 0 이외의
작성, 출력 핀이 높은갑니다

Agustín 토마스

 

Welcome to EDABoard.com

Sponsor

Back
Top