Anonymní profil Oktan – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Oktan – Programujte.comAnonymní profil Oktan – Programujte.com

 

Příspěvky odeslané z IP adresy 94.199.199.–

Fíkus
C / C++ › Tlačítko C
7. 6. 2012   #158956

Jinak děkuju, že ste to semnou vydrželi a pomohli mi :)

Fíkus
C / C++ › Tlačítko C
7. 6. 2012   #158955

tak už je to odevzdaný.... :D sice je to blbě, ale snad mi tu 4řku dá :D

Fíkus
C / C++ › Tlačítko C
7. 6. 2012   #158940

Tak z 90 % jo :)uvidim ve škole zachvilku :)

Fíkus
C / C++ › Tlačítko C
6. 6. 2012   #158938

 ted už sem se do toho dostal.... do toho časovača dám svou hodnotu... potom tam nahážu hodnoty té sinusovky  a vlastně to co si napsal ty tedka, tak to zapříčiní to, že když bude tlačítko sepnuto/nesepnuto tak tam bude 1/0 to bude mět za následek ten sinus nebo trojůhelník.... ještě si to tam nějak pošmelim ty věcy, že místo sinetable(sinusovky) tam udělám druhej program co povalí ten trojůhelník

akorát nevim přesně jak to asi myslíš.... 

ISR (SIG_OVERFLOW0)							// Counter0 Interrupt Service
{
PORTB = (sinetable[i++]);
	TCNT0 = 175;	
	if (i==32)		
	{
		i=0;
	}							
}

přepíšu na ten kod co si psal místo tohoto a až zjistim co to dělá, tak to přepíšu na ten druhej?

Jinak díky moc, su Ti zavázanej!!!

Fíkus
C / C++ › Tlačítko C
6. 6. 2012   #158934

   

*/

#include <avr/interrupt.h>
#include <stdlib.h>	
#include <avr/sleep.h>

	char sinetable [32];
	int  i ;	
	void ioinit (void)								// Initialize  I/O.
	
	/*
	I/O Pin assignments for AT90S8515:
	Port A is the R/2R DAC
	PORT B is Test output
	PORT C is unused
	PORT D is unused
	*/
{		
												//Initialize output ports
	
	PORTB = 0b11111111;
	PORTD = 0b11111111;
	DDRB  = 0b11111111;
	DDRD  = 0b00000000;
}




void timer0_setup (void)									
{
	TCCR0 = 0b00000001;  
	TCNT0 = 175;   
	TIMSK = 0b00000010;
}


 


ISR (SIG_OVERFLOW0)							// Counter0 Interrupt Service
{
PORTB = (sinetable[i++]);
	TCNT0 = 175;	
	if (i==32)		
	{
		i=0;
	}							
}




void arraysettup (void)

{										
	sinetable[0]=127;					// Put 32 step 8 bit sine table into array.
	sinetable[1]=152;	
	sinetable[2]=176;	
	sinetable[3]=198;
	sinetable[4]=217;
	sinetable[5]=233;
	sinetable[6]=245;
	sinetable[7]=252;
	sinetable[8]=254;
	sinetable[9]=252;
	sinetable[10]=245;
	sinetable[11]=233;
	sinetable[12]=217;
	sinetable[13]=198;
	sinetable[14]=176;
	sinetable[15]=152;
	sinetable[16]=128;
	sinetable[17]=103;
	sinetable[18]=79;
	sinetable[19]=57;
	sinetable[20]=38;
	sinetable[21]=22;
	sinetable[22]=10;
	sinetable[23]=3;
	sinetable[24]=0;
	sinetable[25]=3;
	sinetable[26]=10;
	sinetable[27]=22;
	sinetable[28]=38;
	sinetable[29]=57;
	sinetable[30]=79;
	sinetable[31]=103;	
}





int	main (void)		
{
	ioinit();
	arraysettup();
	timer0_setup();
	i = 0;
	sei();
	while (1)
	{	
		set_sleep_mode(SLEEP_MODE_IDLE);
	}	
    return (0);
}

netušíš, jestli by toto jelo, když bych to nějak smixoval, kamoš tam něco psal, jenže mu nikdo neodpověděl....toto by měl bejt sinusovej průběh, že bych to tam nějak nasmolil

Fíkus
C / C++ › Tlačítko C
6. 6. 2012   #158933

Zao.celk.
127
138
150
161
173
184
203
184
173
161
150
127
tak mi vyšel trojůhelník.....

Fíkus
C / C++ › Tlačítko C
6. 6. 2012   #158932

jsou tam jiný čísla....


začínám na 127,153,178,199,215,225,229..... a jde to do nuly a zpátky skoro na 127... to by měl být sinus....

 a zadefinovat nevim co přesně myslíš...
 

Fíkus
C / C++ › Tlačítko C
6. 6. 2012   #158930

mno nedivím se..... jsu na tom s programováním mizerně... Zkuím to nějak nadefinovat.... maximální hodnota pro 5 V je 255 já mám 4v takže by se to mělo vyšplhat něco lehce přes 200

pokusím se to napsat a pak to hodim sem

Fíkus
C / C++ › Tlačítko C
6. 6. 2012   #158925

Jinak borci, prosimvás de mi o kejhák... propadám z toho programka a je to na zejtřek ....  popřípadě, kdyby byl někdo ochonej mi ten program napsat a vysvětlit, tak bych se vyrovnal aji finančně, protože na toto nemám prostě buňky 

snaha je, ale nějak mi to nejde...

Fíkus
C / C++ › Tlačítko C
6. 6. 2012   #158924

Mám k tomu všechno :) ikdyž na 99% blbě :D  v hlavě vím, co to má dělat a jak to má dělat, ale neumím to zapsat :)

#define F_CPU 20000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sfr_defs.h>


unsigned char sinus  = {154, 181, 203, 223, 239, 250, 255, 255, 250, 239, 223, 203, 180, 156, 128, 101, 76, 53, 33, 17, 7};   //hodnoty sinusu

int sinus()
{
while(1){
  for(x=0;x<=max;x++){
  
  }

#define PORT PORTB
#define DDR DDRB
#define PIN PINB

Char klav. I_TEMP,O_TEMP,bit;
Unsigned char BitRot (unsigned char sinus, unsigned char trojuhelnik)


Int main (void)
{
DDR = 0xF0;
PORT = 0x70;
O_TEMP = 0xF0;
DDRD = 0xFF;
PORTD = 0xFF;
_NO()P;
_NO()P;
Do
{
  I_TEMP = PIN & 0x0F
  If (I_TEMP == 0x0F)

int trojuhelnik()
unsigned char trojuhelnik = {-2, -1,84, -1,52, -1,2, -1,04, -0,72, -0,56, -0,4, -0,24, 0,56, 0,72, 1,04, 1,2, 1.52, 1.84, 2, 1.52, 1.04, 0.56, 0.08, -0.56, -1.04, -1.52, -1.84, -2};   //hodnoty trojuhelniku

int trojuhelnik()
{
while(1){
  for(x=0;x<=max;x++){
   PORTB = trojuhelnik;
  }

Toto mám.... kamoš kterej má stejný zadaní tak už tady něco taky psal koukám, vidim část programu kterej sme dali nějak dohromady :D jestli potřebuješ ještě něco tak napiš.... mám aji vypočítanej ten sinusovej průběh a trojůhelník

Oktan
C / C++ › Sinusovej průběh
6. 6. 2012   #158922

unsigned char sinus  = {154, 181, 203, 223, 239, 250, 255, 255, 250, 239, 223, 203, 180, 156, 128, 101, 76, 53, 33, 17, 7};   //hodnoty sinusu

int sinus()
{
while(1){
  for(x=0;x<=max;x++){
  
  }

#include <avr/interrupt.h>
#include <stdlib.h>
#include <avr/sleep.h>

char sinetable [32];
int  i ;
void ioinit (void)        // Initialize  I/O.

/*
I/O Pin assignments for AT90S8515:
Port A is the R/2R DAC
PORT B is Test output
PORT C is unused
PORT D is unused
*/

            //Initialize output ports

PORTB = 0b11111111;
PORTD = 0b11111111;
DDRB  = 0b11111111;
DDRD  = 0b00000000;
}


void timer0_setup (void)        
{
TCCR0 = 0b00000001; 
TCNT0 = 175;  
TIMSK = 0b00000010;
}



ISR (SIG_OVERFLOW0)       // Counter0 Interrupt Service
{
PORTB = (sinetable[i++]);
TCNT0 = 175;
if (i==32) 
{
  i=0;
}      
}


void arraysettup (void)

{         
sinetable[0]=127;     // Put 32 step 8 bit sine table into array.
sinetable[1]=152;
sinetable[2]=176;
sinetable[3]=198;
sinetable[4]=217;
sinetable[5]=233;
sinetable[6]=245;
sinetable[7]=252;
sinetable[8]=254;
sinetable[9]=252;
sinetable[10]=245;
sinetable[11]=233;
sinetable[12]=217;
sinetable[13]=198;
sinetable[14]=176;
sinetable[15]=152;
sinetable[16]=128;
sinetable[17]=103;
sinetable[18]=79;
sinetable[19]=57;
sinetable[20]=38;
sinetable[21]=22;
sinetable[22]=10;
sinetable[23]=3;
sinetable[24]=0;
sinetable[25]=3;
sinetable[26]=10;
sinetable[27]=22;
sinetable[28]=38;
sinetable[29]=57;
sinetable[30]=79;
sinetable[31]=103;
}

int main (void) 
{
ioinit();
arraysettup();
timer0_setup();
i = 0;
sei();
while (1)
{
  set_sleep_mode(SLEEP_MODE_IDLE);
}
    return (0);
}

první program, vlastně část sem napsal já, vypisuje to sinusovej průběh....mohl bych použít místo něho ten program co je pod ním? je to z této stránky http://cappels.org/dproj/1_kHz_Signal_Source/1_KHz_Sine_Wave_Generator.html popřípadě jakou část tam dát a co tam změnit, když je Um 4v a frekvence 45khz

Fíkus
C / C++ › Tlačítko C
6. 6. 2012   #158919

 konkrétně Attiny2313 :)

Fíkus
C / C++ › Tlačítko C
6. 6. 2012   #158917

su v programování nováček, takže moc nevím, co je grafická knihovna, ale doufám, sem se trefil správně :)

#define F_CPU 20000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sfr_defs.h>

Fíkus
C / C++ › Tlačítko C
6. 6. 2012   #158915

Zdravím, mohl by mi tu někdo poradit s tlačítkem?  Konkrétně mám program, který generuje 2 průběhy a potřebuju, aby se při stisku tlačítka přeměnili.... tzn. z sinusovýho na trojůhelníkovej a naopak.

Je to v jazyku c

děkuju

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý