ringer subrutine problem i mikroC

B

bbgil

Guest
hej.Jeg fik denne kode, som jeg vil kalde en underrutine.Det fik fejl, at det har alt for mange konkrete parametre.Hvad er fejlen?Hvordan du opretter og kalder en underrutine i selve spillet?helst prøve vil hjælpe.eller link?Det er overflødigt at sige, jeg er en nybegynder i C.thnx på forhånd.

/ /
char n;
void flash ();
void main ()
(
while (1)
(
flash (5) / / det er den fejl linje
delay_ms (3000);
)
)
void flash (n)
(For (n = 0; n <5; n )
(
trisb = 0;
portb.f0 = 1;
Delay_ms (500);
portb.f0 = 0;
Delay_ms (500);
)
)

 
Din declearation af funktionen flash bør præcisere, at den passerer en int.

void flash (int n);
void main ();

....

 
tak for svaret.hjalp mig meget.Nu har jeg en anden, jeg ønsker at køre det sådan, at RB7 virker som en kontakt.når det på, det udfører opgaven.Problemet er, virker det ikke på den måde jeg forsøgte med == og =.begge fungerer ikke.hjælp er meget værdsat.her er koden.en anden ting, hvordan man kan simulere skifte i MikroC IDE?

unsigned int i = 1;

void main () (if (PORTB.F7 = 1)
(
PORTB = 0;
TRISB = 0;

while (1) (
for (i = 1; i <= 63; i = i )
(

PORTB.f0 = 1;
Delay_ms (1000);
PORTB.f1 = 1;
Delay_ms (1000);
PORTB.f2 = 1;
Delay_ms (1000);
PORTB.f3 = 1;
Delay_ms (1000);
PORTB.f4 = 1;
Delay_ms (1000);
PORTB.f5 = 1;
Delay_ms (1000);for (i = 63; i> 1; i = i -)
(
PORTB.f5 = 0;
Delay_ms (1000);
PORTB.f4 = 0;
Delay_ms (1000);
PORTB.f3 = 0;
Delay_ms (1000);
PORTB.f2 = 0;
Delay_ms (1000);
PORTB.f1 = 0;
Delay_ms (1000);
PORTB.f0 = 0;
Delay_ms (1000);
)
)))
) / / ~!

 
skal du indstille TRISB til 1000 0000 så RB7 er input ...og så vil det arbejde ...Jeg tænkte, hvis du trykker RB7 det vil gøre en secuence at vende om lysdioder, og så slå dem fra ...jeg dont forstå, hvad der er op til de 63 løkke ... (så jeg tog det ud!)
Måske du kunne forklare din kode lidt mere ...

void main (void)
(
PORTB = 0;
TRISB = 0b10000000;
while (1) (
if (PORTB.F7 == 1)
(
(
PORTB.f0 = 1;
Delay_ms (1000);
PORTB.f1 = 1;
Delay_ms (1000);
PORTB.f2 = 1;
Delay_ms (1000);
PORTB.f3 = 1;
Delay_ms (1000);
PORTB.f4 = 1;
Delay_ms (1000);
PORTB.f5 = 1;
Delay_ms (1000);
)
(
PORTB.f5 = 0;
Delay_ms (1000);
PORTB.f4 = 0;
Delay_ms (1000);
PORTB.f3 = 0;
Delay_ms (1000);
PORTB.f2 = 0;
Delay_ms (1000);
PORTB.f1 = 0;
Delay_ms (1000);
PORTB.f0 = 0;
Delay_ms (1000);
)
)
)
) / / ~!

 
tnx for hjælp.dumme mig, glemte at indstille input.det virkede allerede.den 63-tallet er kun for mig at praksis for anvendelse af for-løkken.intet til det, selv om virkningen er forskellig coz det ikke er muligt sekvensen for at gentage.Hvordan man kan simulere nu skifte / knap i MikroC simulator?i MPLAB, der anvendes i den stimulus editor?MikroC fik en eller tilsvarende?tnx for enhver hjælp igen.

 

Welcome to EDABoard.com

Sponsor

Back
Top