Makatakip function na problema

I

innovationhut

Guest
Hi, ako gamit ang Proteyus kumbinasyon sa pro mikroc. Ako makaalis sa simpleng makatakip function na. Ako sinusubukan sa "i-sa humantong sa simpleng interrupt0". Narito ang code: hindi linagdaan magpasinda counter = 0; bisa makatakip () {kung (INTCON.INT0IF) {kontra + +; INTCON.INT0IF = 0;}} walang bisa pangunahing () {unsigned magpasinda pulso; TRISB.INT0 = 1; TRISC. F3 = 0; INTCON.INT0IF = 0; INTCON.INT0IE = 1; INTCON.GIE = 1; gawin {tumibok = counter; kung (pumintig = 1) {PORTC.F3 = 1; counter = 0;}} habang (1 );} Ang programa lumiliko humantong off kapag ang pindutan ay konektado sa anumang port ng microcontroller, ngunit gusto ko lang INT0 makatakip. Umaasa tao ay maaaring makatulong. Salamat in advance.
 
Ang pulso ay lamang ng isa pang variable upang i-imbak ang kontra halaga
 
kung (pumintig = 1)?? Ang expression na ito ay palaging tunay! kung (pumintig == 1) expression na ito lamang ang tunay na kung ang pulso ay katumbas sa 1.
 
Hi guys, Salamat para sa mga unang tumugon, Ngunit susugan ko ang mga pagkakamali, Hindi pa rin ako nakakakuha ng anumang mga tugon mula sa INT0. Narito ang aking code, "Kapag INT0 ay konektado sa ang 5v (ie pindutan sarado) humantong konektado sa ang RC2 dapat pumunta mataas. Pero nakakakuha ako ng walang" ako gamit ang mikro c tagatala.
Code:
 [code] walang bisa makatakip () {if (INTCON.INT0IF == 1) PORTC.RC2 = 1; INTCON.INT0IF = 0;} walang bisa pangunahing () {TRISB.RB0 = 1; TRISC.RC2 = 0; INTCON = 0x90; habang (1);}
[/code] SA circuit, ako konektado ang simpleng lumipat sa PINB0. Ang tulong Anumang ay appreciated. Salamat
 
Ang code na Ang hitsura ok? Kahit na dapat mong laging gumamit ng mga braket: kung ang (anumang) {doSomething;} (Misra patakaran) Hindi mo na sabihin kung saan micro ikaw ay gumagamit? OPTION_REG bit INTEDG nagtatakda ng tumakip sa ang umaangat o bumabagsak na gilid, sa pamamagitan ng default na ito ay sa gilid ng pagbagsak. Ito ay ipinapalagay mayroon kang isang pulldown risistor sa RB0 input at ang iyong lumipat pulls ito mataas? Sa kasong iyon, dapat ka ng matakpan kapag ikaw ay palayain ang lumipat at line na ang napupunta mababa? [/Code]
 
Hi, ako gamit ang mikroc tagatala at ang pic18f4250. Sa kasong ito INTCON2 ko magparehistro upang piliin ang umaangat at bumabagsak na gilid. Sa pamamagitan ng default ay tumakip sa umaangat na gilid. Ngunit para sa ilang kadahilanan ay hindi ito gumana sa lahat!
 
Wala akong karanasan sa tagatala mikroc, gamitin ko mcc18. Gamitin ang mplab upang tingnan ang program memory o ang disassembly. Makatakip ay dapat na matatagpuan sa address 04 o 08.
 

Welcome to EDABoard.com

Sponsor

Back
Top