인터럽트 함수 문제

I

innovationhut

Guest
안녕하세요, 저는 mikroc 프로와 함께 프로 테우스를 사용하고 있습니다. 나는 간단한 인터럽트 기능에 갇혀입니다. 전 "간단한 interrupt0의 LED를 설정"에 노력하고 있어요. 여기 코드 : 서명되지 않은 문자 카운터 = 0; 무효 인터럽트 () {경우 (INTCON.INT0IF) {카운터 + +; INTCON.INT0IF = 0;}} 무효 메인 () {서명 챠 펄스, TRISB.INT0 = 1; TRISC. F3 = 0; INTCON.INT0IF = 0; INTCON.INT0IE = 1; INTCON.GIE = 1; 할 {펄스 = 카운터; 경우 (펄스 = 1) {PORTC.F3 = 1; 카운터 = 0;}} 동안 (1 );} 프로그램 버튼은 마이크로 컨트롤러의 포트에 연결되었을 때 해제 LED 전환,하지만 난 단지 INT0 인터럽트를 원한다. 누군가가 도와 줬음 좋겠어. 미리 감사드립니다.
 
펄스 카운터 값을 저장하기 위해 또 다른 변수이다
 
경우 (펄스 = 1)?? 이 표현은 항상 사실이다! 맥박이 1 동일 경우 (펄스 == 1)이 표현은 사실이라면.
 
안녕 얘들아, 초기 답장을 보내주셔서 감사합니다, 아직 내가 INT0로부터 응답을 받고 아니에요하지만, 실수를 개정. 여기 내 코드는 "INT0가 높은 가야 RC2에 연결된 5V (예 버튼을 폐쇄)에 LED 연결하는 것입니다.하지만 난 아무것도받지 못했습니다 오전"입니다 제가 미크로 C 컴파일러를 사용하고 있습니다. [코드] [코드] 무효 인터럽트 () {경우 (INTCON.INT0IF == 1) PORTC.RC2 = 1; INTCON.INT0IF = 0;} 무효 메인 () {TRISB.RB0 = 1; TRISC.RC2 = 0; INTCON = 0x90; 동안 (1);} [/ 코드] [/ 코드] 회로, 내가 PINB0 간단한 스위치를 연결합니다. 약간이라도 도움을 주신다면 고맙겠 것입니다. 감사
 
코드는 괜찮아 보여? 항상 괄호를 사용해야하지만 (무엇이든) {해봐요;} 경우 (Misra 규칙)이, 당신이 사용하는 마이크로 말씀 안 하셨어요? 비트 INTEDG을 OPTION_REG하면 상승 또는 하강 에지에서 인터럽트를 설정 기본적으로 그것은 하강 에지에 있습니다. 그것은 당신이 RB0 입력에 풀다운 저항을 가정하고 스위치는 높은 가져옵니다입니까? 당신이 스위치를 가서 줄을 낮은갑니다시킬 때 그런 경우에는 인터럽트를해야하는가? [/ 코드]
 
안녕하세요, 저는 mikroc 컴파일러와 pic18f4250를 사용하고 있습니다. 이 경우에는 나는 INTCON2 상승 및 하강 에지를 선택 등록합니다. 기본적으로 그것은 상승 가장자리에 방해가됩니다. 그러나 어떤 이유로 그것은 전혀 작동하지 않습니다!
 
내가 mikroc 컴파일러와 전혀 경험이없는, 내가 mcc18를 사용합니다. 프로그램 메모리 또는 분해를 볼 수 mplab를 사용하십시오. 인터럽트는 04 또는 08 주소에 위치해야합니다.
 
당신의 도움이 친구 주셔서 감사합니다
 

Welcome to EDABoard.com

Sponsor

Back
Top