|  |   
	
		|  
 | 
	  			
	  				|  Elektronika.lt portalo forumasJū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 10 31, 23:36. Visos datos yra GMT + 2 valandos.
 |  |  |  
	
		| 
	|  | Forumas » Mikrovaldikliai » Ne taip veikia pertrauktis |  
	| 
		
			| 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
 
 |  |  |  
	|  | Ne taip veikia pertrauktis |  
  | 
	| 
	
		|  Parašytas: 2008 11 20, 23:29 |     |  |  
	| 
	
		|  | 
			
				| Laba vakara visiems. Ant Atmegos16 Int0 paduodu impulsus ir su pertrauktim bandau skaiciuoti. Kuo trumpesni impulsiukai tuo tiksliau skaiciuoja, o jei ilgesnis impulsas tai skaiciu pertrauktis jau padidina nebe vienetais, bet desimtimis. Ar cia  normalu? Impulsiukai staciakampiai - su oscilu ziurejau, tik ju ilgis skirtingas. Zemiau pertraukties konfiginimas: 
 GICR=0x40;
 MCUCR=0x01;
 GIFR=0x40;
 
 Gal turit kokiu minciu?
 |  |  
		|  |  |  |  
	|  | Ne taip veikia pertrauktis |  
  | 
	| 
	
		|  Parašytas: 2008 11 21, 10:02 |     |  |  
	| 
	
		|  | 
			
				| Pasidariau anemometra is hardo variklio. Po operacinukas per tranza iseina staciakampiai impulsai. Tik kuo leciau jis sukas, tuo ilgesnis tas impulsas, kuri pertrauktis nezinau kaip supranta. Jei deciau tarp tranzo ir mc konderi, gal pagelbetu? |  |  
		|  |  |  |  
	|  | Ne taip veikia pertrauktis |  
  | 
	| 
	
		|  Parašytas: 2008 11 21, 16:04 |     |  |  
	| 
	
		|  | 
			
				| keiciantis is 0 i 1 lygiui ant int0 kojos, ivyksta pertrauktis 
 
 
	  | Kodas: |  
	  | #include "io.h"
 #include "util/delay.h"
 #include "avr/interrupt.h"
 //*****************************************************
 ISR(INT0_vect){
 if(PORTA == 255){
 PORTA = 0;
 }else{
 PORTA = 255;
 }
 }
 //*****************************************************
 int main(void){
 DDRA = 255;
 PORTA = 0;
 MCUCR = 0b00000011;
 GICR = 0b01000000;
 sei();
 while(1){
 }
 }
 |  |  |  
		|  |  |  |  
	|  | Ne taip veikia pertrauktis |  
  | 
	| 
	
		|  Parašytas: 2008 11 21, 18:23 |     |  |  
	| 
	
		|  | 
			
				| Sutinku. Bet, kai nuo 1 impulso skaitliukas padideja ~30, tai kazkaip nenormalu. |  |  
		|  |  |  |  
	|  | Ne taip veikia pertrauktis |  
  | 
	| 
	
		|  Parašytas: 2008 11 21, 18:32 |     |  |  
	| 
	
		|  | 
			
				| Kazin aip kuo paprasciau padaryti, kad neziurint i impulso ilgi, gauciau trumpa impulsiuka ir tiek? |  |  
		|  |  |  |  
	|  | Ne taip veikia pertrauktis |  
  | 
	| 
	
		|  Parašytas: 2008 11 21, 18:44 |     |  |  
	| 
	
		|  | 
			
				| išjunk interrupt`us, kol vykdai interrupt`ą ir palauk, kol signalas nukris žemyn, tai turėtų sutvarkyt. |  |  
		| 
		
			| _________________
 nepamirškit, klysti žmogiška
   privatas - privatiems klausimams
 arch linux
    |  |  |  |  
	|  |  
	|  | Ne taip veikia pertrauktis |  
  | 
	| 
	
		|  Parašytas: 2008 11 21, 19:10 |     |  |  
	| 
	
		|  | 
			
				| skaiciuoja kiek per sekunde ateina impulsu i porta.0 ir parodo ant portc 
 
 
	  | Kodas: |  
	  | ; xtal 4.096 Mhz
 .include "m16def.inc"
 ;
 .def temp1   = r16         ;
 .def temp    = r20
 .def count   = r21
 .cseg
 ;**********************************
 .org   0x000 rjmp RESET
 .org    0x012 rjmp TIM0_OVF
 .org   0x02A
 ;**********************************
 RESET:
 ldi      temp, LOW(RAMEND)
 out      SPL, temp
 ldi      temp, HIGH(RAMEND)
 out      SPH, temp
 ldi        temp, 0b11111110
 out      DDRA, temp
 ldi      temp, 0b11111111
 out      DDRC, temp
 ldi      temp, 0b00000011
 out      TCCR0, temp
 ldi      temp, 0b00000001
 out      TIMSK, temp
 sei
 ;**********************************
 clr      temp1
 clr      count
 loop:
 sbic   PINA,0
 rjmp   PC-1
 sbis   PINA,0
 rjmp   PC-1
 inc      count
 rjmp   loop
 ;**********************************
 TIM0_OVF:
 cpi      temp1, 250
 brne    ret_tim0
 out      PORTC, count
 clr      count
 clr      temp1
 reti
 ret_tim0:
 inc      temp1
 reti
 |  |  |  
		|  |  |  |  
	|  |  
	|  | Ne taip veikia pertrauktis |  
  | 
	| 
	
		|  Parašytas: 2008 11 22, 17:11 |     |  |  
	| 
	
		|  | 
			
				| Na va pamastydamas ir padedamas Jauler'io issisprendziau ta reikala: ant int0 kojo uzdejau 10mkf konderi. gan talpus, bet kaip ir veikia. Dave minti Jauler, kad gali buti, kad daug impulsu sugeneruoja, kurio neuzfiksuodavau. manau taip ir buvo. zodziu ta vieta kaip ir ok, bet yra dar viena. Kiekvieno impulso metu, srove kartais iki 0.2A pakyla. Pridedu nelabai aiskia, bet iziurima nuotrauka. Pasidalinkit mintimis, kur ka galima pakeisti. Ramybes busenoje srebia ~10mA. Tiesa dabar ziuriu, lygtais stovi skaitiklis vietoje, bet pirma ir ramybes busenoje skaitliukas didedavo. Kazkaip susizadindavo... Aciu. 
 
  [/img] 
 http://img399.imageshack.us/my.php?image=dsc00058qj4.jpg
 |  |  
		|  |  |  |  
	|  | Ne taip veikia pertrauktis |  
  | 
	| 
	
		|  Parašytas: 2008 11 29, 17:54 |     |  |  
	| 
	
		|  | 
			
				| kokie rezultatai? ar pavyko susikalibruot ta anemometra? koks tikslumas gavos? |  |  
		|  |  |  |  
	|  | Ne taip veikia pertrauktis |  
  | 
	| 
	
		|  Parašytas: 2008 12 01, 07:38 |     |  |  
	| 
	
		|  | 
			
				| 
 
	  | n2o rašo: |  
	  | kokie rezultatai? ar pavyko susikalibruot ta anemometra? koks tikslumas gavos? |  
 Laukiu atlyginimo
  . Susitariau su viena firma, kad paliksiu uzstata uz tikra anemometra, kol susikalibruosiu. Nu ir buteliuka uz tai pazadejau. Tai va laukiu. su viena firma, uz bonke ir uzstata duotu tikra anemometra susikalibravimui. Tai va - bus kapeiku, tada kalibruosiu  . |  |  
		|  |  |  |  
	|  | Ne taip veikia pertrauktis |  
  | 
	| 
	
		|  Parašytas: 2008 12 01, 21:34 |     |  |  
	| 
	
		|  | 
			
				| koks signalas eina iš variklio? 
 GIFR keisti nereikia.
 
 ISR automatiškai uždraudžia naujas pertrauktis.
 
 o tu patį skaičiavimą atlieki grynai programiškai?
 |  |  
		|  |  |  |  | 
				
					|  | 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
 |    |   
 
 
 |  |