 |

|
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 05 23, 02:05. Visos datos yra GMT + 2 valandos.
|
|
|
 |
Forumas » Mikrovaldikliai » Kodel neveikia arba ko as nezinau/nemoku.
|
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
|
|
|
 |
 |
Kodel neveikia arba ko as nezinau/nemoku. |
Parašytas: 2010 03 29, 02:31 |
|
|
|
Sveiki. Elementari programelė:
Kodas: |
#include <avr/io.h>
#include <avr/interrupt.h>
#include "global.h"
#include "rprintf.h"
#include "uart.h"
ISR(INT0_vect)
{
rprintf("Suveike INT1 pertrauktis.\n");
}
ISR(INT1_vect)
{
rprintf("Suveike INT1 pertrauktis.\n");
}
int main()
{
uartInit();
rprintfInit(uartSendByte);
uartSetBaudRate(38400);
GICR=(1<<INT0)|(1<<INT1);
DDRD=(0<<DDD3)|(0<<DDD2);
PORTD=(1<<PORTD3)|(1<<PORTD2);
sei();
} |
Rezultatas: išveda tik 1 simbolį teksto ir suveikia interuptas tik pirma kart.
Klausimas: ko nežinau apie pertrauktis ir kokią klaidą darau savo logikoje pagal šią programėlę? Išanksto dėkoju. |
|
|
|
|
 |
 |
Kodel neveikia arba ko as nezinau/nemoku. |
Parašytas: 2010 03 29, 08:04 |
|
|
|
is to ka parasei jokiu isvadu negalima padaryti... Uztenka, kad koks nors pinas procesoriaus butu nenustatytas tinkamai ir procesorius uzlus... Bus stop. Apziurek pirmiausia visus isvadus oscilografu, arba nustatyk log 1 ir isejimus... |
|
_________________ Nieko taip lengvai nedaliname, kaip patarimus... |
|
|
|
 |
 |
Re: Kodel neveikia arba ko as nezinau/nemoku. |
Parašytas: 2010 03 29, 22:12 |
|
|
|
Arafatas rašo: |
Sveiki. Elementari programelė:
Kodas: |
#include <avr/io.h>
#include <avr/interrupt.h>
#include "global.h"
#include "rprintf.h"
#include "uart.h"
ISR(INT0_vect)
{
rprintf("Suveike INT1 pertrauktis.\n");
}
ISR(INT1_vect)
{
rprintf("Suveike INT1 pertrauktis.\n");
}
int main()
{
uartInit();
rprintfInit(uartSendByte);
uartSetBaudRate(38400);
GICR=(1<<INT0)|(1<<INT1);
DDRD=(0<<DDD3)|(0<<DDD2);
PORTD=(1<<PORTD3)|(1<<PORTD2);
sei();
} |
Rezultatas: išveda tik 1 simbolį teksto ir suveikia interuptas tik pirma kart.
Klausimas: ko nežinau apie pertrauktis ir kokią klaidą darau savo logikoje pagal šią programėlę? Išanksto dėkoju. |
nera mcucr registro nustatymu, skaityk atmegos aprasyma
 |
|
|
|
|
 |
 |
Kodel neveikia arba ko as nezinau/nemoku. |
Parašytas: 2010 03 29, 22:41 |
|
|
|
Su šia problema jau išsiaiškinau. Problema pagrindinė išliko ir žinau priežastis. Paprasčiausiai UART išvedusi 1 simbolį išjungia interuptus. Kas pasiulys problemos sprendimą? |
|
|
|
|
 |
Kodel neveikia arba ko as nezinau/nemoku. |
Parašytas: 2010 03 29, 23:37 |
|
|
|
sneikaz teisingai rašo, interuptą reiktų daryt kiek įmanoma trumpesnį.
o tavo pirminis kodas, parodyk kaip veikia uartinit(); ar tu jį pats rašei. |
|
|
|
|
 |
Kodel neveikia arba ko as nezinau/nemoku. |
Parašytas: 2010 03 30, 02:04 |
|
|
|
R2D2 rašo: |
sneikaz teisingai rašo, interuptą reiktų daryt kiek įmanoma trumpesnį.
o tavo pirminis kodas, parodyk kaip veikia uartinit(); ar tu jį pats rašei. |
pats nerašiau, AVRlib naudoju |
|
|
|
|
 |
Kodel neveikia arba ko as nezinau/nemoku. |
Parašytas: 2010 03 31, 00:38 |
|
|
|
R2D2 rašo: |
tai va taip ir būna, kad aklai naudoji lib`us, paskui ir neveikia. |
nėra to blogo kas neišetu į gerą. Mažiau mokėdamas apie uart techninį veikimą, daugiau žinosiu apie pertrauktis  |
|
|
|
|
 |
 |
winavr cgg uart |
Parašytas: 2010 11 12, 21:10 |
|
|
|
Sveiki!
turiu problemele, nesigauna isvesti i hyper terminala is attiny2313 4MHz
paprasciausio simbolio; Pradziai tik isvesti po to noretusi ir gauti ka nors.
Naudoju Avr Studio 4.14 ir Code VisioAvr.
rasiau pats naudodamas internete rastais pavyzdziais.
kompiliatorius nemeta klaidu, bet nieko nesigauna, nebesuprantu ko giriebtis.
Isanksto visiems dfekoju!
aciu!
#include <avr/io.h>
#include <stdio.h>
#include <avr/interrupt.h>
void UART_init(void)
{
UCSRA=0x00;
UCSRB=(1<<TXEN)|(0<<TXCIE)|(0<<UDRIE);
UCSRC=0x06;
UBRRH=0;
UBRRL=0x19;
}
void UART_send(unsigned char data)
{
while(!(UCSRA & (1<<UDRE)));
UDR=data;
}
int main (void)
{
UART_init();
while(1){
UART_send(0x35);
}
return 0;
} |
|
|
|
|
|
 |
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 |
 |
FS25 Mods
FS25 Harvesters,
FS25 Tractors Mods,
FS25 Maps 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 |
 |
Football Training Kit
Football Training Equipment,
Football Skills,
Football Training |
|

|
 |