Elektronika.lt
 2025 m. gruodžio 23 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

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 12 23, 21:06. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » AVR USART
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
 
  
Puslapis 22
Pereiti prie Atgal  1, 2
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 AVR USART
PranešimasParašytas: 2010 04 19, 21:52 Pranešti apie taisyklių pažeidimą Atsakyti su citata
HIdef
Svečias
centronic rašo:
pasiunti tokią eilutę (jei imanoma) 'mano batai buvo du\nvienas dingo nerandu\n'
Kodas:

char usart_data_1[16];
char usart_data_2[16];
//*************************************************
void usart_read(void){
  unsigned char i;
  i = 0;
  while(usart_data_1[i] != '\n'){ //"mano batai buvo du\n"
    if(bitas(UCSRA,RXC)){
      usart_data_1[i] = UDR;
      i++;
    }
  }
  i = 0;
  while(usart_data_2[i] != '\n'){//"vienas dingo nerandu\n"
    if(bitas(UCSRA,RXC)){
      usart_data_2[i] = UDR;
      i++;
    }
  } 
}
[/url]



Nebeikelia nieko i masyvus, kad ir kaip besiusciau, va, gal cia kas negerai nzn...
Kodas:

char usart_data_1[8];
char usart_data_2[8];

unsigned char usart_read(void){
  unsigned char i;
  TCNT0 = 0;
  sbi(TIFR,TOV0);
  while(1){
    if(bitas(TIFR,TOV0)){ //jei praejus 16ms negauna nauju duomenu
      return 0; //reiskia duomenys atsiusti
    }

  i = 0;
  while(usart_data_1[i] != '\n'){ //batai\n"
    if(bitas(UCSRA,RXC)){
      usart_data_1[i] = UDR;
      i++;
    }
  }
  i = 0;
  while(usart_data_2[i] != '\n'){//mano\n"
    if(bitas(UCSRA,RXC)){
      usart_data_2[i] = UDR;
      i++;
    }
  } 



    if(i == 8) return 1; //klaida persipilde usart_data mas.
  } 
}
 AVR USART
PranešimasParašytas: 2010 04 20, 07:03 Pranešti apie taisyklių pažeidimą Atsakyti su citata
caca
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
kas beateitu viskas yra dedama i viena masyva. Toliau analizes metu yra tikrinamas komandos pradzios identifikatorius (header) ir pagal tai nusprendziama kur pradzia...

_________________
Nieko taip lengvai nedaliname, kaip patarimus...
 AVR USART
PranešimasParašytas: 2010 04 20, 21:19 Pranešti apie taisyklių pažeidimą Atsakyti su citata
HIdef
Svečias
turbut sita problema eis isspresti tik tokiu budu: uzduot cikla kad lauktu kokio nors simbolio, ir tik ji priemus pradedu kelti duomenis i masyva. Nes man is esmes pirma eilute nerupi, svarbi tik antra eilute, ir tai nevisa, o tik tam tikra dalis. Taigi va ka geriausio man pavyko sukurti, bet, deja neveikia.

char usart_data_1[8];

unsigned char usart_read(void){
unsigned char i;
while(1){

if(bitas(UCSRA,RXC)){
usart_data_1[0] = UDR; }

i = 0;
if(usart_data_1[0] == 'x'){ //jei sutinka 'x', pradeda irasinet i masyva
if(bitas(UCSRA,RXC)){
usart_data_1[i] = UDR;
i++;
}
}
return 0;
}
}

Padekit ;/
 AVR USART
PranešimasParašytas: 2010 04 20, 21:21 Pranešti apie taisyklių pažeidimą Atsakyti su citata
HIdef
Svečias
taip tikrinu ar kas nors irasyta i masyva.

int main(void){

USART_Init(25);
unsigned char i;
DDRD = 0xFF;
TCCR0 = 0x04;
while(1){
if(bitas(UCSRA,RXC)){

i = usart_read();

USart_Send_String("--ON--");
_delay_ms(100);
USart_Send_String(usart_data_1);
_delay_ms(100);
}
}
for(i=0; i<8; i++){
usart_data_1[i] = '0';

}
}
 AVR USART
PranešimasParašytas: 2010 04 20, 21:30 Pranešti apie taisyklių pažeidimą Atsakyti su citata
sneikaz
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Bent supranti ka pats darai? Nes cia cissika nesamone, o ne tikrinimas...
 AVR USART
PranešimasParašytas: 2010 04 20, 22:11 Pranešti apie taisyklių pažeidimą Atsakyti su citata
HIdef
Svečias
Suprantu ta kad jeigu masyve atsiras duomenu tai juos turetu nusiust atgal i terminala, ir pagal tai nuspresiu irasinejama kas nors i ji ar ne : )
 AVR USART
PranešimasParašytas: 2010 04 21, 14:22 Pranešti apie taisyklių pažeidimą Atsakyti su citata
romans
Naujokas
Naujokas
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
HIdef rašo:
turbut sita problema eis isspresti tik tokiu budu: uzduot cikla kad lauktu kokio nors simbolio, ir tik ji priemus pradedu kelti duomenis i masyva. Nes man is esmes pirma eilute nerupi, svarbi tik antra eilute, ir tai nevisa, o tik tam tikra dalis. Taigi va ka geriausio man pavyko sukurti, bet, deja neveikia.

Padekit ;/


mintis tai lyg ir gera, siaip pakeites truputi koda kur idetas buvo auksciau kito forumo dalyvio gavau kazka panasaus

mintis tokia:
nusiskaitai tik viena simboli
jei jis =='reikiamas simbolis'
nuskaitau eilute ir jei is nuskaitancios funkcijos gaunu 1, tada ieskau toje eiluteje pirmo simbolio, jei jis lygus man reikalingam identifikatoriui, pasiimu viska kas yra uz jo, (pvz skaiciai po = zenklo)
I masyva priiminedamas imu simbolius iki ale stop'o, mano atveju * Issiunciamos eilutes pvz.: x=58000*

P.S. elitue reikia paduoti "vienu ypu", o ne ivedineti po simboliuka
 AVR USART
PranešimasParašytas: 2010 06 23, 20:05 Pranešti apie taisyklių pažeidimą Atsakyti su citata
SpiderPig
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Sveiki, iskilo noras ismokti dirbti su USART taipats su noru atsirado is problema. Rasau internete tokia trumpa programa:
Kodas:
#include <stdio.h> 
#include <avr/io.h>


void main(void)
{
        // USART initialization
        // Communication Parameters: 8 Data, 1 Stop, No Parity
        // USART Receiver: Off
        // USART Transmitter: On
        // USART Mode: Asynchronous
        // USART Baud rate: 9600
        UCSRA=0x00;
        UCSRB=0x08;
        UCSRC=0x86;
        UBRRH=0x00;
        UBRRL=0x17;

        printf("Hello World!");

}

Ant CodeVision veikia viskas gerai, ant AVR Studio 4 neveikia gal zinot kas gali buti blogai ?
Pradėti naują temą  Atsakyti į pranešimą Pereiti prie Atgal  1, 2
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

„Mokslo sriuba“

www.matuok.lt - Interneto spartos matavimo sistema

Programuotojas Tautvydas – interneto svetainių-sistemų kūrimas

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas

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
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
Must have farming mods
Farming simulator modhub, Best farming simulator mods
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Ets2 mods, Ats mods, Beamng drive mods
allmods.net
„MokslasPlius“ – mokslui skirtų svetainių portalas
www.mokslasplius.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
LTV.LT – lietuviškų tinklalapių vitrina
www.ltv.lt/technologijos/
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
Mokslo festivalis „Erdvėlaivis žemė“
www.mokslofestivalis.eu
Reklama


Reklama