컨트롤러"버튼을

A

arash_micro

Guest
안녕.
내가하는 HT 버튼을 루틴을 확인하려면 picc 싶어요.
내가 debounce 루틴 (없이)이 코드를 작성할 수 있지만 내 잘못이야 work.What하지 않습니다.

(RB4 = 0) (
DelayMs (50);
chanal ;
)

감사합니다.

 
안녕,
난 당신의 코드에 대해 아무 생각했다.하지만 난 당신이 위에서 언급한이 부분에서 구문을 실수로 볼 수있습니다.(RB4 = 0) 만약에 (RB4 == 0)으로 대체됩니다.

알다시피 동일한 단일 및 값을 지정 동등한 두 번 확인하는 것입니다

안부 인사.

 
그렇긴하지만 실시간 pruteuse에서 작동하지 error.It 정확했다.
왜?

 
안녕,

모든 하드웨어가 어떻게 연결되어 있는지에 대한 depands!귀하의 버튼 Vcc 나 GND로 연결되어 있나요?즉, 당신이 버튼을 누르면, 무엇으로 가서 귀하의 PIN을 1이나 0?
당신은 한쪽에 GND로하는 connectet이며, 귀하의 RB4 함께 올려 다른 당신이 버튼을 클릭 0 얻을 가정해 봅시다 (당신)가 필요합니다.
이렇게 보이는 것입니다 그렇다면 코드 :
코드 :만약 (RB4 == 0)

(

DelayMs (50);

(RB4 == 0) / / 만약의 경우 여전히

chanal ;

)

 
안녕!
내가 통해 UR 코드에서 가져온 아이디어를 정상적으로 핀을 뽑아 그 때 U 핀을 낮은하게 버튼을 누르면됩니다, 코드는 이런식으로해야합니다

만약 (! RB0) / / 만약 RB0 높지 않다 다음 코드를 실행
(
YOUR_CODE;
)
따라서 코드 핀 낮은 실행됩니다.
마찬가지로하면 불러 때 핀 하이 RB0 다음 코드를 이런식으로되어야한다고 주장 해주는 특정 코드를 실행하려면
(RB0 경우)
(
YOUR_CODE;
)
이걸 통해 UR 포인트를 명확하게 바랍니다.
안부

 
안녕하세요 waseem,

거기에 코드 문제는 당신이 게시됩니다.당신은 대기 상태에 할 것이다 그리고 다시 핀 확인하시기 바랍니다.다른 방법이있습니다,하지만 이건 단순한입니다.그건 당신이 코드는 경우에만 버튼을 누르면, 그리고 전압에서 chnage 그냥 다른 이유에서 발생할 수있는 작동 확인하려면이 reson입니다.또한, 귀하의 코드와 코드만큼 버튼을 누르면됩니다당했습니다 될 것입니다.
그래서하고 싶은 말은 전환 수에 떨어져, 그것을 켜고 끌 것입니다 귀하의 코드와 함께 LED가 주도하면 버튼을 누르면만큼.그리고 마지막에 LED가 떨어져있을 수있습니다.
그래서 하루의 끝에, 그 일부 지연이나 키를 누르면 더 신뢰할 수 있도록 어떠한 다른 함수를 넣어 좋다.

행운을 빕니다.

 
안녕하세요 Gidimiz!
분석을 주셔서 감사합니다.난 이미 U 무엇을 언급한 건 알았지만, 난 내 코드에서 스트레스가 무엇을하려고 필요가없습니다 쓰기 "만약 (RB0 == 1)"입니다
만약 (RB0) "과 마찬가지로 대신"만약 (RB0 == 0)하는 "u U 간단하게 작성할 수있습니다"를 쓸 수
"만약 (! RB0).
의 courese 스위치를 작동하면 신뢰할 수 있도록 특정 지연을 추가해야합니다.
분석을 위해 다시 한번 감사합니다.
안부

 
안녕하세요 waseem,
waseem 썼습니다 :

...
하지만 난 내 코드에서 스트레스가 무엇을하려고 필요가없습니다 쓰기 "만약 (RB0 == 1)"입니다

만약 (RB0) "과 마찬가지로 대신"만약 (RB0 == 0)하는 "u U 간단하게 작성할 수있습니다"를 쓸 수

"만약 (! RB0) ...

 
gidimiz 썼습니다 :

안녕하세요 waseem,거기에 코드 문제는 당신이 게시됩니다.
당신은 대기 상태에 할 것이다 그리고 다시 핀 확인하시기 바랍니다.
다른 방법이있습니다,하지만 이건 단순한입니다.
 
안녕, SP,

오랜 기간 동안에는 프로그램이 붙어없이 이렇게 또 다른 방법입니다!
당신은 인터럽트와 타이머를 구현하려면 (당신) 모든 TMR을 사용할 수있습니다이 필요합니다 그리고 당신이 필요로 최소로 설정하세요.예를 들어, 당신이 필요합니다 fasts 것은 매년 0.5 인터럽트로 설정되어야 매 0.5 초 후 TMR LED 플래시입니다.만약 자사의 전용 버튼을, 당신은 모든 1sec 방해할 수있습니다.
좋아, 아니 모든 1 초 타이머 인터럽트를 좀 그래서 알 수있다.에서 인터럽트, 당신은 이런 일이 발생 할 때마다 인터럽트 플래그가 일어날 것이다.(해달 TMRIF 플래그를 취소한) 잊어버려.그럼 기본 코드에 당신이 플래그를 설정했습니다 그 버튼을 누를했습니다 확인합니다.모든 경우를 통과했다 4 배 (즉, 4 초)을 누른 다음 수정이 필요하지 ..
당신은 내가 사용하는 어떤 컴파일러를 몰라 여기에 일반적인 용어의 코드입니다.
코드 :(무효) 인터럽트 무효

(

만약 (TMR0IF) / / 나는 성조기에 사용되는 타이머 0

(

= 0 TMR0IF;

= 1 SecFlag;

TMR0 = 0x80으로; TMR0에 / / 새로고침 값

)

)공허 메인 (무효)

(

SetIO (); / / 모든 입출력 및 주변 기기 설정(1) 동안

(

만약 (SecFlag) / / 1 초 통과하고있다

(

= 0 SecFlag; / / 초 플래그를 재설정

만약 (RB0) / / 만약 버튼을 계속 누르면

버튼 ;

만약 (! RB0 & & 버튼 "= 1) / / 버튼을 클릭하면 몇 가지 지점에서 릴리즈 또는 끝.
당신은 여기에 이상이 함수 밖에서이 기능을 넣을 수있습니다.

(

버튼 = 0;

)

경우 (버튼 "= 4)

RA0 =! RA0; / / LED가 토글 윌.

)

만약 (! RB0 & & 버튼 "= 1) 전과 / /와 같은 기능을하지만, 여기.

귀하의 코드 ...

) / / 종료하는 동안 (1)) / / 끝 주

 
안녕하세요 Gidimiz!
천만에요.일단 당신이 배운 모든 U 귀하의 몰락을 누른 다음 시작을 해야해 난 항상 여러분의 의견을 주셔서 감사합니다.
이후로 항상 유용합니다 그래서 ... 난 정말 다른 poeple으로 물건을 통해 UR에 대해 의견을 주셔서 감사합니다.
안부.

 
안녕하세요 Waseem,

고마워요 ...
Donload "무료 MPLAB 사용자가없습니다. (또 다른 새로운 버전.)"나는 쉽게 코드를 작성하는 게시했다.만약 당신이 C 코드를 사용하여 당신이 정말 좋아할 것입니다.
즐기다.

 

Welcome to EDABoard.com

Sponsor

Back
Top