  | 
		 
			
			
			
			
			
	
		
			
  
 | 
	 		
	  			
	  				| 
						  Elektronika.lt portalo forumas 
						
						Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
						Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose. 
						 
						Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
						kurie nesilaiko forumo taisyklių.
						Pastebėjus nusižengimus, prašome pranešti. 
						 Dabar yra 2025 11 04, 05:49. Visos datos yra GMT + 2 valandos.
						
					 | 
				 
			 
 | 
		 | 
	 
 
	
		
	  | 
	
		
			 Forumas » Mikrovaldikliai » AVR UARTas
		
	 | 
 
	
		
		
			
				Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume 
			 | 
			
				
			 | 
			 
		 
		
	 | 
 
 
	  |  
 
	  |  
 
	  | 
	 AVR UARTas | 
 
  
	
	
		 Parašytas: 2009 03 11, 10:55 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				Sveiki. Kazko uzstrigau su rysiu tarp pc ir atmegos. Visaip bandau, bet kazkodel nepareina i pc kas reikia. Imetu paprasta koda, kuris manau turi veikti, bet nepasiduoda jis man.
 
 
#include <avr/io.h>
 
#include <avr/interrupt.h>
 
#include <avr/signal.h>
 
#include <inttypes.h>
 
#include <avr/iom32.h>
 
 
#define F_OSC 16000000	
 
#define UART_BAUD_RATE 19200
 
#define UART_BAUD_CALC(UART_BAUD_RATE,F_OSC) ((F_OSC)/((UART_BAUD_RATE)*16l)-1)
 
 
 
void usart_putc(unsigned char c) {
 
	while(!(UCSRA & (1 << UDRE)));
 
	UDR = c;
 
}
 
 
 
void init(void) {
 
	UBRRH = (uint8_t)(UART_BAUD_CALC(UART_BAUD_RATE,F_OSC)>>8 );
 
	UBRRL = (uint8_t)UART_BAUD_CALC(UART_BAUD_RATE,F_OSC);
 
	UCSRB = (1 << RXEN) | (1 << TXEN) | (1 << RXCIE);
 
	UCSRC = (1 << URSEL) | (3 << UCSZ0);
 
}
 
 
SIGNAL (SIG_UART_RECV) { 
 
	unsigned char c;
 
	c = UDR;
 
	usart_putc('[');
 
	usart_putc(c);
 
	usart_putc(']');
 
 
}
 
 
int main(void) {
 
	init();
 
	sei();
 
	while (1) {}
 
	return 0;
 
}
 
 
Kodas yra ir dar vienas paveiksliukas. Kazkodel pradedu galvoti, kad gelezis kalta, nors pertikrinta kelis kartus.
 
 
Kas pareina atgal | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
	  |  
 
	  | 
	 AVR UARTas | 
 
  
	
	
		 Parašytas: 2009 03 11, 19:04 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				| Jei tarp pc ir plokstes, tai gnd sujungta. Tiesa prie maxo ne elektrolitai sustatyti. Gali buti cia suo pakastas? | 
			 
		  | 
	 
	
		
		
		
			
  Paskutinį kartą redagavo Irmantukas, 2009 03 11, 19:33. Redaguota 1 kartą | 
		 
		  | 
	 
	  | 
 
 
 | 
 
 
	  | 
	 AVR UARTas | 
 
  
	
	
		 Parašytas: 2009 03 11, 21:03 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				
 
	  | Citata: | 
	 
	
	  | #define UART_BAUD_CALC(UART_BAUD_RATE,F_OSC) ((F_OSC)/((UART_BAUD_RATE)*16l)-1) | 
	 
 
 
 
ką reiškia tas "*16l" ? gal turėtų būti tiesiog "*16" ? | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
	  | 
	 AVR UARTas | 
 
  
	
	
		 Parašytas: 2009 03 11, 21:42 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				| Atradau ir as kad kazkas su UBRR negerai. Nes terminale uzstacius 600 pradejo dirbti. Kontroleri ant 9600 pasidares buvau. | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
	  | 
	 AVR UARTas | 
 
  
	
	
		 Parašytas: 2009 03 11, 21:54 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				   UBRR tiesiai priskiriu reiksme, bet visviena terminalas tik prie 600 teisingai sukramto     Kvarcas 16Mhz. Prie 9600 gaunasi 103. Ar ne taip skaiciuoju? | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
	  | 
	 AVR UARTas | 
 
  
	
	
		 Parašytas: 2009 03 12, 09:05 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				16 mhz kvarcas netinka
 
todel kad prie ligiu kvarcu atsiranda paklaida
 
noaudok kreiva kvarca ir dirbs t.y11.059  ir t.t. | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
	  | 
	 AVR UARTas | 
 
  
	
	
		 Parašytas: 2009 03 12, 11:42 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				| Nu man ties 19200 baudrate nebūna klaidų su 16 MHz... Atkreipčiau dėmesį, kad su MAX232A eina atrodo 100nF kondensatoriai. | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
	  | 
	 AVR UARTas | 
 
  
	
	
		 Parašytas: 2009 03 12, 12:03 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				| As ir galvociau kad gaunantis (prie 16Mhz ir baud 9600 ) teoriskai paklaidai 0,2% tokiu skirtumu negaletu buti. Na vakare bandysiu pakeisti kvarca i kazka, kad butu po kablelio. Konderiai? Na galvoju, jei veikia prie mazesnio baudrate, tai maxas manyciau dirbantis, Na reix ir ta gal pabandyti. Bet vakar pries miega imeciau i atmega normalu hex ir bandziau prie 600 pakontaktuot su plokste - s.. gavosi. Tai taip ir palikau. Vakare sesiu toliau kankintis. | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
	  | 
	 AVR UARTas | 
 
  
	
	
		 Parašytas: 2009 03 12, 12:13 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				| Is cia matyti kad jei baudreitas 600 ir UBRR 103 kvarco daznis lygus 1Mhz. Gal kvarcas blogai uzstampuotas? Vakar dar gerai paziurejau ar tikrai 16Mhz, bet atspausta 16. | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
	  | 
	 AVR UARTas | 
 
  
	
	
		 Parašytas: 2009 03 12, 15:13 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				| O tai gal nuo vidinio 1MHz dirba... | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
	  | 
	 AVR UARTas | 
 
  
	
	
		 Parašytas: 2009 03 12, 19:45 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				| Aciu Sneikaz. Taip ir buvo. Viskas sukas. | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
		 | 
		
			
				
					  | 
					 Google paieška forume | 
				 
				
					| 
 | 
				 
			 
			
				
					  | 
					 Naujos temos forume | 
				 
				
					 | 
				 
			  
	
		  | 
	    
	    	FS25 Tractors 
	    	Farming Simulator 25 Mods,
	    	FS25 Maps,
			FS25 Trucks | 
	 
	
		  | 
	    
	    	ETS2 Mods 
	    	ETS2 Trucks,
			ETS2 Bus,
			Euro Truck Simulator 2 Mods
			 | 
	 
	
		  | 
	        
	    	FS22 Tractors 
	    	Farming Simulator 22 Mods,
	    	FS22 Maps,
		FS25 Mods | 
	 
	
	  | 
	    
	    	VAT calculator 
	    	VAT number check,
	    	What is VAT,
	    	How much is VAT | 
	 
	
	  | 
	    
	    	Dantų protezavimas 
	    	All on 4 implantai, 
		Endodontija mikroskopu, 
		Dantų implantacija | 
	 
	
	  | 
	    
	    	FS25 Mods 
	    	FS25 Maps,
		FS25 Cheats,
		FS25 Install Mods | 
	 
	
	  | 
	    
	    	FS25 Mods 
	    	Farming Simulator 25 Mods, 
	    	FS25 Maps | 
	 
	
	  | 
	    
	    	ATS Trailers 
	    	American Truck Simulator Mods,
		ATS Trucks,
		ATS Maps | 
	 
 
 
		 | 
	 
 
			
			 
 
 
  | 
		  |