Прекид функције проблема

I

innovationhut

Guest
Здраво, Ја сам помоћу Протеус у комбинацији са микроЦ про. Ја сам заглави на једноставан прекине функцију. Трудим се да "окрене на ЛЕД на једноставан интеррупт0". Ево код: унсигнед цхар цоунтер = 0; воид прекид () {иф (ИНТЦОН.ИНТ0ИФ) {контра +; ИНТЦОН.ИНТ0ИФ = 0;}} воид маин () {унсигнед цхар пулс; ТРИСБ.ИНТ0 = 1; ТРИСЦ. Ф3 = 0; ИНТЦОН.ИНТ0ИФ = 0; ИНТЦОН.ИНТ0ИЕ = 1; ИНТЦОН.ГИЕ = 1; не {пулс = контра иф (пулс = 1) {ПОРТЦ.Ф3 = 1; бројач = 0;}} вхиле (1 );} Програм укључује ЛЕД се када је дугме повезати на било који порт микроконтролера, али ја само желим ИНТ0 прекида. Надам неко може да помогне. Хвала унапред.
 
ако је (пулс = 1)? ако је (пулс == 1)
 
пулс је само још један променљиве за складиштење противвредности
 
[Куоте] ако (пулс = 1) [/ куоте] [урл] хттп://ввв.екфорсис.цом/туториалс/ц-лангуаге/ц-операторс.хтмл [/ урл] Пренос Оператори релационе операторе: Д: Д
 
ако је (пулс = 1)? Овај израз је увек истина! ако је (пулс == 1) Овај израз је једини прави ако пулс је једнак 1.
 
Здраво момци, Хвала за одговор рано, али сам изменио грешке, Мртва Не примам одговор од ИНТ0. Ево мог кода: "Када ИНТ0 је повезан са 5в (тј. дугме затворен) ЛЕР повезан са РЦ2 треба да иде високо Али ја примам ништа." Ја сам помоћу микро Ц компајлер. [Цоде] [цоде] воид прекид () {иф (ИНТЦОН.ИНТ0ИФ == 1) ПОРТЦ.РЦ2 = 1; ИНТЦОН.ИНТ0ИФ = 0;} воид маин () {ТРИСБ.РБ0 = 1; ТРИСЦ.РЦ2 = 0; ИНТЦОН = 0к90; док (1);} [/ цоде] [/ цоде] у колу, ја сам повезан једноставан прелазак на ПИНБ0. Свака помоћ ће бити цењена. Хвала
 
Код изгледа ОК? Иако је увек треба да користите заграде: ако (шта год) {ПРЕДУЗМИНЕШТО;} (Мисра правило) Не кажу које микро користите? ОПТИОН_РЕГ мало ИНТЕДГ поставља Прекид на успону или паду ивице, по основном подешавању то је на ивици пада. Претпоставља се имате падајућег отпорник на РБ0 улаз и ваш прекидач вуче га висока? У том случају, требало би да имате прекида када пустите прекидач и линија иде ниско? [/ Цоде]
 
Здраво, Ја сам помоћу микроЦ компајлер и пиц18ф4250. У овом случају сам ИНТЦОН2 да се региструјете да бисте изабрали успону и паду ивице. По подразумеваном подешавању то је прекине са повећањем ивици. Али из неког разлога то не раде!
 
Немам искуства са микроЦ компајлер, ја користим мцц18. Користите МПЛАБ да видите меморије програм или расклапања. Прекида се налази на адреси 04. или 08..
 

Welcome to EDABoard.com

Sponsor

Back
Top