|
|
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 01 08, 00:07. Visos datos yra GMT + 2 valandos.
|
|
|
|
Forumas » Mikrovaldikliai » Neiseina uzprograminti ATiny2313
|
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 1 iš 2 Pereiti prie 1, 2 Toliau |
|
|
|
|
Neiseina uzprograminti ATiny2313 |
Parašytas: 2008 03 31, 00:12 |
|
|
|
Programuoju IAR programa C++ kalba.
As noriu padaryti taip kad i mikroschemos koja sakykim PB0 atejus +5 V man per TXD nieko nesiustu, bet dingus signalui t.y. atsiradus 0 V pradetu siusti skaiciu i kompa.
Siuo atveju matom kad perisiuncia skaiciu "2".
Bet as darau dabar atvirksciai, tarkim kai yra +5 V tada turi siusti per USARTA i kompa skaicius 1,2,3.
Problema ta kad man siuncia TIK viena skaiciu ir nereaguoja ar paduodi +5V ar ne, beto neleidzia isiterpti kitiem skaiciam.
Pagal mano pateikta koda visa laika siuncia tik "1", o dvejeto niekaip.
Gal kas galit patart ka as darau ne taip ? nes jau beviltiska padetis man:(
#include "iotiny2313.h"
#include "stdio.h"
void velinam2();
void USART_Transmit( unsigned char data );
void main()
{
UBRRL = 25;
UCSRB = (1<<RXEN)|(1<<TXEN);
UCSRC = (1<<USBS)|(3<<UCSZ0);
//SREG =128;// Ájungiame globalias pertrauktis
DDRB=0; // B prievadas nustatomas i skaitymo rezima
while(1) // Aþminas ciklas
{
if(PORTB1==1) // sitoj vietoj taip suprantu : Jei i PB0 koja paduodu
// +5 toliau vykdo sekancias komandas
{
velinam2();
for(int a=0; a<2; a++)
USART_Transmit(0x31);
}
if(PORTB2==1)
{ velinam2();
for(int i=0; i <3; i++)
USART_Transmit(0x32);
}
}// while pabaiga
} // main pabaiga
void USART_Transmit( unsigned char data )
{ unsigned int sk=0;
while (sk<=3)
{
/* Wait for empty transmit buffer */
while ( !( UCSRA & (1<<UDRE)) )
/* Put data into buffer, sends the data */
UDR = data;
sk++;
}
}
void velinam2()
{unsigned int i=0;
for(i=0; i<50000; i++){}
} |
|
|
|
|
|
|
Neiseina uzprograminti ATiny2313 |
Parašytas: 2008 03 31, 00:40 |
|
|
|
pirma nerasyk sitaip
USART_Transmit(0x32);
o rasyk taip:
USART_Transmit('2');
kas cia per nesamone? kam tas ciklas?
Kodas: |
if(PORTB1==1) // sitoj vietoj taip suprantu : Jei i PB0 koja paduodu
// +5 toliau vykdo sekancias komandas
{
velinam2();
for(int a=0; a<2; a++)
USART_Transmit(0x31);
} |
ar netinka taip?
if (PINB1) {USART_Transmit(0x31);velinam2();}
beje tavo klaida kad netinka rasyti PORT kai nori priimti duomenis tada reikia rasyti PIN
lengviausi butu daryti sitaip:
while(1)
{
if (PINB1) {USART_Transmit('1');}
if (PINB2) {USART_Transmit('2');}
delay(10ms);//ar kiek tau patinka, bet nebutina
} |
|
|
|
|
|
|
Neiseina uzprograminti ATiny2313 |
Parašytas: 2008 03 31, 15:47 |
|
|
|
Na as padariau taip :
if (PINB&1==1) {USART_Transmit('1');}
else {USART_Transmit('2');}
Kai i koja paduodu logini 1 (+5 V) per terminala man veda graziai 11111111111111111111111111,
bet tik atjungiu iskarto pradeda siusti i terminala 2221111222212222112, primaiso vienetu atseit lyg butu paduodama +5, va su situ kovoju:/
Beto tai gali buti del to kad i mikruske paduodu tik VCC, GND, TXD ir RXD kad komunikuotu su su TTL-RS232 lygiu suderintoju, daugiau nieko nera
Ta pati bandziau su diodais. Tai kai +5 atjungiu, diodas mirgsi pastoviai, is kur jis gauna ta +5 nepagaunu :/ |
|
|
|
|
|
|
Neiseina uzprograminti ATiny2313 |
Parašytas: 2008 03 31, 16:54 |
|
|
|
jei tu nepanaudotas kojas palieki plaukioti ore tai tada neaisku kas ten gali nuti per signalai ant ju
ir butent rasyk
if (PINB&1==1) {USART_Transmit('1');}
if (PINB&2==1) {USART_Transmit('2');}
o ne su else,tada aiskai pastebesi kad gauni bruda i koki iejima.
kad isvengti to usdek ant iejimu varzas i korpusa
beje tokiu atveju jeu i abu iejimus paduosi vieneta tada tau rasys 1212121212 |
|
|
|
|
|
|
Neiseina uzprograminti ATiny2313 |
Parašytas: 2008 03 31, 21:25 |
|
|
|
Digix rašo: |
jei tu nepanaudotas kojas palieki plaukioti ore tai tada neaisku kas ten gali nuti per signalai ant ju
ir butent rasyk
if (PINB&1==1) {USART_Transmit('1');}
if (PINB&2==1) {USART_Transmit('2');}
o ne su else,tada aiskai pastebesi kad gauni bruda i koki iejima.
kad isvengti to usdek ant iejimu varzas i korpusa
beje tokiu atveju jeu i abu iejimus paduosi vieneta tada tau rasys 1212121212 |
Pajungiau varzas 15k prie PB0 ir PB1 i korpusa, tai pradejo normaliau veikt, bet.... su paciu pirmu IF viskas ok jeigu jis buna tik vienas, viska siuncia svariai, bet jeigu idedu
if (PINB&2==1) {USART_Transmit('2');}
tai tada nieko beveik nesiuncia, retkarciais 1 isiunciao iki 2 nedaeina. |
|
|
|
|
|
|
Neiseina uzprograminti ATiny2313 |
Parašytas: 2008 03 31, 21:48 |
|
|
|
tai kazkas kita tau blogai tada
kaip as parasiau visi if yra nepriklausomi ir turi veikti atskirai.
pamegink uzdeti kievieno pabaigoje keliu ms uzdelsima
if (PINB&1==1) {USART_Transmit('1'); delay(1ms);}
gal cia tavo kompiliatorisu durniuoja, tai pamegink su vienu if
if (PINB&1==1) {USART_Transmit('1');}
pabandyk ir toki vairianta
if (PINB&2==1) {USART_Transmit('1');} |
|
|
|
|
|
|
Neiseina uzprograminti ATiny2313 |
Parašytas: 2008 04 01, 18:01 |
|
|
|
Ne nu cirkai dedasi:D gal rimtai kompiliatorius durniuoja
Em db dar viena beda atsirado :] , nepastbejau kaip + laidas ant - uzkrito betestuojant
Tai db mikruske jau nieko nesiuncia , pradzioj maniau kad gal TTL-RS232 dar galejo pakept, bet ta pasiziurejau max232 atliekama turejau attiny2313 irgi, tai TTL-RS232 lyg normaliai veikia, bet va nauja Attiny2313 neveikia kaip ankstesnioji, nors koda ta pati idejau. Informacija Per USARTA siuncia bet neteisinga pvz jokio signalo nepaduodu o siuncia vistiek 111111 ir poto sustoja. naujai attiny fuse bit nustaciau.
Zodziu ainu kariaut toliau... |
|
|
|
|
|
|
Neiseina uzprograminti ATiny2313 |
Parašytas: 2008 04 07, 15:47 |
|
|
|
na vot po ilgos pertraukos vel prisedau
#include "iotiny2313.h"
void velinam();
void USART_Transmit( unsigned char data );
int main ()
{
//----USART-INIT----------------------------------
UBRRL = 25;
UCSRB = (1<<RXEN)|(1<<TXEN);
UCSRC = (1<<USBS)|(3<<UCSZ0);
//------------------------------------------------
while(1){
velinam();
if ((PINB&1)>0) { USART_Transmit('1'); }
velinam();
if ((PINB&2)>0) {USART_Transmit('2'); }
}} // while ir main kartu
void USART_Transmit( unsigned char data )
{
while ( !( UCSRA & (1<<UDRE)) ) /* Wait for empty transmit buffer */
UDR = data; /* Put data into buffer, sends the data */
}
// V?linimas trumpam laiko tarpui
void velinam()
{unsigned int i=0;
for(i=0; i<100; i++){}
}
//--------------------
Na skaicius siuncia graziai per USART kai paduodu +5 V, bet db va iskilo klausimas ka reik daryt kad jeigu i abi kojas atejus +5 signalui siustu skaicius pakaitom, nes db kai paduodu tai siuntimas is viso sustoja. Gal naudot kokias pertrauktis, gijas ar dar ka ? |
|
|
|
|
|
|
Neiseina uzprograminti ATiny2313 |
Parašytas: 2008 04 07, 16:19 |
|
|
|
tavo programa ir dabar turi pakaitom siusti jei i abu padavei
jei nesiuncia tai cia kazkokie stebuklai arba kompiliatorius durniuoja
beje tavo velinimo funkcija nelabai kam naudonga nes nebamau kad bent 1 ms pavelins |
|
|
|
|
|
Neiseina uzprograminti ATiny2313 |
Parašytas: 2008 04 08, 09:33 |
|
|
|
sveiki programeriai as esu zalias su kontroleriais bet noriu pradeti su jeis kazka veikti ir is kart susiduriau su problema pasigaminau programatoriu kaip nurodyta elektronikos psl ten kur pradetantiems jis man puikiai irasinedavo programas y at90s2313 o attiny2313 neprogramina kame kampas kas ne taip man net nenuskaito jo o ka jau kalbet apie yrasyma naudoju pony prog gal galit pagelbet |
|
|
|
|
|
|
Neiseina uzprograminti ATiny2313 |
Parašytas: 2008 04 09, 18:08 |
|
|
|
klemeris rašo: |
sveiki programeriai as esu zalias su kontroleriais bet noriu pradeti su jeis kazka veikti ir is kart susiduriau su problema pasigaminau programatoriu kaip nurodyta elektronikos psl ten kur pradetantiems jis man puikiai irasinedavo programas y at90s2313 o attiny2313 neprogramina kame kampas kas ne taip man net nenuskaito jo o ka jau kalbet apie yrasyma naudoju pony prog gal galit pagelbet |
hem, gal naudoji labai sena pony prog ? kur nera Attiny2313 bibliotekos ???
O Fuse bitus nusistatei ? Nu nzn, as pasidariau programatoriu su com jungtimi, ir Attiny lb puikiai kepa :], tik reik teisingai i lizda uC idet jau kelias attiny sukepinau :/ dohh..... |
|
|
|
|
|
|
Neiseina uzprograminti ATiny2313 |
Parašytas: 2008 04 09, 18:18 |
|
|
|
To Digix:
Na pasidariau kad man veiktu kodas
#include "iotiny2313.h"
void velinam();
void USART_Transmit( unsigned char data );
void pirmas();
void antras();
void trecias();
void ketvirtas();
int main ()
{
//----USART-INIT----------------------------------
UBRRL = 25;
UCSRB = (1<<RXEN)|(1<<TXEN);
UCSRC = (1<<USBS)|(3<<UCSZ0);
//------------------------------------------------
while(1)
{ pirmas();
antras();
}
} // main pabaiga
void USART_Transmit( unsigned char data )
{ unsigned char sk=0;
while(sk<=1)
{
while ( !( UCSRA & (1<<UDRE)) ) /* Wait for empty transmit buffer */
{UDR = data; /* Put data into buffer, sends the data */
sk++;
}
}
}
// V?linimas trumpam laiko tarpui
void velinam()
{unsigned int i=0;
for(i=0; i<100; i++){}
}
void pirmas()
{ velinam();
if ((PINB&1)>0)
{
USART_Transmit('1');
}
}
void antras()
{velinam();
if ((PINB&2)>0)
{
USART_Transmit('2');
}
}
void trecias()
{ velinam();
if ((PINB&3)>0)
{
USART_Transmit('3');
}
}
void ketvirtas()
{ velinam();
if ((PINB&4)>0)
{
USART_Transmit('4');
}
}
//--------------------
// Pabaiga
Na seip mikruske normaliai veike kai paduodu +5 siuncia reikiamus skaicius, netgi jei ir i kelias kojas atejo signalas tai skaicius siuncia pakaitom
Bet va pasidariau tokia schema:
Ir neveikia ````
Neikerttu kame esme, nzn gal cia su kvarcu kazkas negerai, nes jeigu prie sios schemos pajungiu kvarca is programatoriaus tai pradeda siusti skaicius...bet... primeta vel visokiu siuksliu.
Digix, o tos kitos kabancios "ore" kojos itakos neturi ??? Gal jas reik apjungt visas ir i zeme paduot ?
Ta pirma schama kai prijungiau rezistorius 15k prie PB1..PB4 koju, tai tada siuksliu nemete, veike normaliai, bet kai susilitavau paskutine schema, tai kartais siuncia tai nesiuncia, meto siuksliu visokiu, nu zdz nzn, vel beviltiska padetis :/
O sakykim ka man duotu jeigu as is VCC per 10k rezistoriu paduociau signala i RESET ?[/img] |
|
|
|
|
|
|
Neiseina uzprograminti ATiny2313 |
Parašytas: 2008 04 09, 18:28 |
|
|
|
labas sory kad kisuosi bet gal gali pagelbet pasidariau viska kaip nurodyta elektronikos psl apie programatorius ir pan bet ta workbench iar manes nesupranta kai bandau kompiliuot duotus pavyzdzius, (
#include <iom16.h>
int main( void )
{
DDRD=1; // Nustatome 14 Atmegos išvadą kaip išėjimą;
į atitinkamą registro skiltį įrašome 1
PORTD=9;// Nurodome ką turime išvesti t.y. 9 dešimtainis
skaičius atitinka 1001 dvejetainį
return 0;
})
ismeta "Fatal Error[Cp001]: Copy protection check, No valid license found for this product [24] gal zinai kame kampas
" |
|
|
|
|
|
Neiseina uzprograminti ATiny2313 |
Parašytas: 2008 04 09, 20:22 |
|
|
|
reikia validuoti workbench`ą |
|
_________________ nepamirškit, klysti žmogiška
privatas - privatiems klausimams
arch linux |
|
|
|
|
|
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 |
|
LEGO
Mänguköök,
mudelautod,
nukuvanker |
|
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope |
|
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 |
|
GTA 6 Weapons
GTA 6 Characters,
GTA 6 Map,
GTA 6 Vehicles |
|
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
|
ATS Trailers
American Truck Simulator Mods,
ATS Trucks,
ATS Maps |
|
|
|