FAQ | Points | Add... | Recent posts | Search | Register | Log in


Prosty programik w C, problem


Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> Prosty programik w C, problem
Author
Message
tomekel
Poziom 9
Poziom 9


Joined: 07 Feb 2003
Posts: 32

Post#1 Post from the author of the topic 14 Nov 2004 02:38   

Prosty programik w C, problem


Napisałem w CodeVisionAVR program, który powinien gasići zapalać ledy podpięte do jednego portu ale nie działa i nie wiem dlaczego
Code:

#include <90s2313.h>     
void czekaj(unsigned long pt)
{
 unsigned char a;

 for(;pt>0;pt--)
 {
  for(a=255;a!=0;a--);
 }
}

void main(void)
{   
  unsigned char licznik;
  while(1)
  {
    for(licznik=0;licznik<10;licznik++)
    { 
      PORTB=0xff;
      czekaj(3500); 
      PORTB=0x00;
    }
  } 
}



Porszę o pomoc
Back to top
   
yarpen2
Poziom 18
Poziom 18


Joined: 10 Apr 2003
Posts: 455
Location: Śląsk (Piekary Śląskie)

Post#2 14 Nov 2004 09:58   

Re: Prosty programik w C, problem


trzeba chyba skonfigurować wyprowadzenia portu B w trybie wyjścia
DDRB=0xff;


Code:

#include <90s2313.h>     
void czekaj(unsigned long pt)
{
 unsigned char a;

 for(;pt>0;pt--)
 {
  for(a=255;a!=0;a--);
 }
}

void main(void)
{   
  unsigned char licznik;
  DDRB=0xff; 
  while(1)
  {
    for(licznik=0;licznik<10;licznik++)
    { 
      PORTB=0xff;
      czekaj(3500); 
      PORTB=0x00;
    }
  } 
}


Back to top
   
tomekel
Poziom 9
Poziom 9


Joined: 07 Feb 2003
Posts: 32

Post#3 Post from the author of the topic 14 Nov 2004 10:09   

Prosty programik w C, problem


Niestety dalej nie działa , diody nie mrugają( nie świecą)

Czy mógłby mi tu napisą program który mrugał by diodą?
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 14 Nov 2004 10:09   





Back to top
   
gmp
Poziom 16
Poziom 16


Joined: 12 Jun 2003
Posts: 337
Location: Wroclaw

Post#4 14 Nov 2004 11:31   

Re: Prosty programik w C, problem


tomekel wrote:
Niestety dalej nie działa , diody nie mrugają( nie świecą)

Czy mógłby mi tu napisą program który mrugał by diodą?

A jak masz podlaczona diode? Wez ustaw RESET procesora na sta niski, i podaj na nozke do ktorej podalczona jest dioda najpierw L a potem H (z zasialnia procesora) jesli swieci to OK i progra MUSI dzialc przy dobrym procesorze(no i dobrze ustawionych FUSE),
Poza tym wewnetrzna petla 'for' w funkcji main nie ma najmnijeszego sensu.
Back to top
   
yarpen2
Poziom 18
Poziom 18


Joined: 10 Apr 2003
Posts: 455
Location: Śląsk (Piekary Śląskie)

Post#5 14 Nov 2004 11:44   

Re: Prosty programik w C, problem


sorry !
teraz powinno działać:
#include <90s2313.h>
void czekaj(unsigned long pt)
{
unsigned char a;

for(;pt>0;pt--)
{
for(a=255;a!=0;a--);
}
}

void main(void)
{
unsigned char licznik;
DDRB=0xff;
while(1)
{
for(licznik=0;licznik<10;licznik++)
{
PORTB=0xff;
czekaj(3500);
PORTB=0x00;
czekaj(3500); <--- jak tego nie było to zaraz wracał do poprzedniego stanu
}
}
}
Back to top
   
tomekel
Poziom 9
Poziom 9


Joined: 07 Feb 2003
Posts: 32

Post#6 Post from the author of the topic 14 Nov 2004 13:33   

Prosty programik w C, problem


Wielkie dzięki, oczywiście że teraz działa.
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 14 Nov 2004 13:33   





Back to top
   
tomekel
Poziom 9
Poziom 9


Joined: 07 Feb 2003
Posts: 32

Post#7 Post from the author of the topic 14 Nov 2004 14:42   

Re: Prosty programik w C, problem


I mam następny problem
Chcę uzyskać efekt "płynącego światełka" czyli diody zaświecają się jena po drugiej.

Napisałem takie coś:
Code:

  c=01111111;
    for (licznik=0;licznik<7;licznik++)
    {       
      d=(c>>1);     
      PORTB=c;
      czekaj(1500);
    }

ale całkowicie głupoty to wyświetla
Jak to zrobić??
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 14 Nov 2004 14:42   





Back to top
   
yarpen2
Poziom 18
Poziom 18


Joined: 10 Apr 2003
Posts: 455
Location: Śląsk (Piekary Śląskie)

Post#8 14 Nov 2004 14:43   

Re: Prosty programik w C, problem


super !
to teraz zrób linijkę swietlną ( niech np. świeci się raz b.0 potem b.1 itd. a potem z powrotem)
spróbuj
Back to top
   
tomekel
Poziom 9
Poziom 9


Joined: 07 Feb 2003
Posts: 32

Post#9 Post from the author of the topic 14 Nov 2004 15:01   

Prosty programik w C, problem


Napisałem niby program który zaświeća od b.0 do b.7 ale to nei działa
czy mogę tak nadawać wartości na port?
c=00000000;
portb=c;
Back to top
   
yarpen2
Poziom 18
Poziom 18


Joined: 10 Apr 2003
Posts: 455
Location: Śląsk (Piekary Śląskie)

Post#10 14 Nov 2004 15:47   

Re: Prosty programik w C, problem


tak na szybko bo zaraz wychodzę:

Code:

c=0xef;

for (licznik=0;licznik<7;licznik++)
    {       
      c=(c>>1);      <-- tylko co to robi ? ja bym dał wstawkę asemblerową do przesuwania bo codevision za dobrze nie znam
      PORTB=c;
      czekaj(1500);
    }


ale głowy to ja za to nie dam
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> Prosty programik w C, problem
Page 1 of 1
Similar topics
Napisze ktoś prosty programik PIC16F84 ? (3)
Prosty programik losujący - totolotek (13)
Poprawilem prosty programik .bat (4)
[Turbo Delphi] Prosty Programik (4)
Asembler (Gnu As) - prosty programik (7)
Prosty programik c++ - sprawdzil by mi ktos...? (1)
potrzebuje prosty programik w delphi 5 (1)
Prosty programik w java (4)
Prośba o prosty programik (BASCOM) M16 (35)
Prosty programik w BASCOM proszę o pomoc. (6)

Page generation time: 0.095 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed