Tu piszemy wiadomość, jeżeli zadanie domowe sprawia kłopot
i szybko potrzebujemy pomocy w rozwiązaniu.
-
elektronikopo
- Użytkownik
- Posty: 182
- Rejestracja: 16 gru 2007, 22:28
- Lokalizacja: Poznań
Post
autor: elektronikopo » 12 mar 2011, 21:03
Napisałem program w języku C dla procesora TMS320CG613 ( DSP)
Kod: Zaznacz cały
#include <dsk6713.h>
#include <dsk6713_led.h>
#include <dsk6713_dip.h>
void main()
{
unsigned char przel[4]={0,0,0,0},diody[4]; //zmienne lokalne
unsigned char ii;
int a=0;
CSL_init();
DSK6713_init();
DSK6713_LED_init();
DSK6713_DIP_init();
ii=0
while (1) {
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
if(a==0){
a=15 * 100000;
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
}
DSK6713_waitusec(a);
DSK6713_LED_on(0);
DSK6713_LED_on(1);
DSK6713_LED_off(2);
DSK6713_LED_off(3);
DSK6713_waitusec(a);
DSK6713_LED_on(0);
DSK6713_LED_off(1);
DSK6713_LED_off(2);
DSK6713_LED_on(3);
DSK6713_waitusec(a);
DSK6713_LED_on(0);
DSK6713_LED_off(1);
DSK6713_LED_on(2);
DSK6713_LED_on(3);
DSK6713_waitusec(a);
DSK6713_LED_off(0);
DSK6713_LED_on(1);
DSK6713_LED_on(2);
DSK6713_LED_on(3);
DSK6713_waitusec(a);
DSK6713_LED_off(0);
DSK6713_LED_on(1);
DSK6713_LED_on(2);
DSK6713_LED_on(3);
DSK6713_waitusec(a);
DSK6713_LED_on(0);
DSK6713_LED_off(1);
DSK6713_LED_on(2);
DSK6713_LED_on(3);
DSK6713_waitusec(a);
DSK6713_LED_on(0);
DSK6713_LED_on(1);
DSK6713_LED_on(2);
DSK6713_LED_off(3);
}
}
i mam jeden problem nie wiem jak zrobić że jak będze stan przełączników 1111 to program ma się zatrzmać na ostatniej kombinacji wie ktoś jak to zrobić ?
Ostatnio zmieniony 14 mar 2011, 18:41 przez
elektronikopo, łącznie zmieniany 1 raz.
-
c4r0
- Moderator
- Posty: 2150
- Rejestracja: 13 kwie 2004, 19:56
- Lokalizacja: z lasu
-
Kontakt:
Post
autor: c4r0 » 13 mar 2011, 5:57
Dodać na końcu pętli while drugą pętlę, pustą, której warunkiem wykonywania będzie stan przełączników 1111.
-
elektronikopo
- Użytkownik
- Posty: 182
- Rejestracja: 16 gru 2007, 22:28
- Lokalizacja: Poznań
Post
autor: elektronikopo » 13 mar 2011, 13:04
Kod: Zaznacz cały
#include <dsk6713.h>
#include <dsk6713_led.h>
#include <dsk6713_dip.h>
void main()
{
unsigned char przel[4]={0,0,0,0},diody[4]; //zmienne lokalne
unsigned char ii;
int a=0;
CSL_init();
DSK6713_init();
DSK6713_LED_init();
DSK6713_DIP_init();
ii;
while (1) {
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
DSK6713_LED_on(0);
DSK6713_LED_on(1);
DSK6713_LED_off(2);
DSK6713_LED_off(3);
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
while(a==15*100000)
{
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
}
DSK6713_waitusec(a);
DSK6713_LED_on(0);
DSK6713_LED_off(1);
DSK6713_LED_off(2);
DSK6713_LED_on(3);
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
while(a==15*100000)
{
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
}
DSK6713_waitusec(a);
DSK6713_LED_on(0);
DSK6713_LED_off(1);
DSK6713_LED_on(2);
DSK6713_LED_on(3);
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
while(a==15*100000)
{
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
}
DSK6713_waitusec(a);
DSK6713_LED_off(0);
DSK6713_LED_on(1);
DSK6713_LED_on(2);
DSK6713_LED_on(3);
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
while(a==15*100000)
{
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
}
DSK6713_waitusec(a);
DSK6713_LED_off(0);
DSK6713_LED_on(1);
DSK6713_LED_on(2);
DSK6713_LED_on(3);
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
while(a==15*100000)
{
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
}
DSK6713_waitusec(a);
DSK6713_LED_on(0);
DSK6713_LED_off(1);
DSK6713_LED_on(2);
DSK6713_LED_on(3);
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
while(a==15*100000)
{
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
}
DSK6713_waitusec(a);
DSK6713_LED_on(0);
DSK6713_LED_on(1);
DSK6713_LED_on(2);
DSK6713_LED_off(3);
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
while(a==15*100000)
{
przel[0]=DSK6713_DIP_get(0);
przel[1]=DSK6713_DIP_get(1);
przel[2]=DSK6713_DIP_get(2);
przel[3]=DSK6713_DIP_get(3);
a=(przel[0]+(przel[1]*2)+(przel[2]*4)+(przel[3]*8))*100000;
}
DSK6713_waitusec(a);
}
}
Dobrze?
-
c4r0
- Moderator
- Posty: 2150
- Rejestracja: 13 kwie 2004, 19:56
- Lokalizacja: z lasu
-
Kontakt:
Post
autor: c4r0 » 13 mar 2011, 20:06
Nie wiem. Zaprogramuj/przesymuluj i się dowiesz.