HJÆLP!

J

jun86dia

Guest
her er min codes.Pls gøre prøve det ..og fortælle mig, hvor er problemet opstod.
Problemet er, når jeg indgang 1 til RB0, CCP1 stand til at generere puls til 3 eller 4 cyklusser only.then der isnt nogen puls anymore.pls hjælpe .. thankz i forvejen!

Kode:

# include <htc.h>

# include <pic.h>

# include <stdio.h>

# include "delay.h"

# include <math.h>void main (void)

(

/ / initialisering

TRISB = 0xff;

TRISC = 0x00;

PORTB = 0x00;

PORTC = 0x00;while (1)

(

/ / PORTB0 = 1;

T2CON = 0b00000100;

CCP1CON = 0b00001100;

PR2 = 255;
switch (PORTB)

(

tilfælde 0b00000001: (

CCPR1L = 127;break;

)

default:

(

CCPR1L = 200;break;

)

)

)

)
 
Hi jun86dia,
Er du sikker på, at RB0 er løbende stilles høje?
Hvis ikke, så i henhold til koden, er det CCPR1L register værdi ændret sig, og
derfor kan du ikke få det korrekte output.
Også kan du fjerne initieringer (T2CON, CCP2CON ,...) fra while-løkken.Der er ingen grund til at formatere dem altid.Du kan gøre det en gang før den tilføres while-løkken.

Hilsen,
vhn

 
hey vhn,
Tja, det er tiden RB0 input er høj.
fra min kode, hvis RB0 input er høj for visse tidsrum, thn som standard CPPR1L
vil blive 200.however, produktion var lav.
hvad tror du?
Btw thankz for info .. jeg vil redigere mens løkken ..=)

-juni -Tilføjet efter 3 minutter:hey vhn,
thankz ...nu virker det ..Efter fjernelse af initieringer (T2CON, CCP2CON ,...) fra while-løkken.
Sætter pris på din hjælp =)

-juni -

 

Welcome to EDABoard.com

Sponsor

Back
Top