|
|
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 2024 11 10, 00:37. Visos datos yra GMT + 2 valandos.
|
|
|
|
Forumas » Mikrovaldikliai » Dvieju ADC kanalu nuskaitymas AVR
|
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 2 iš 2 Pereiti prie Atgal 1, 2 |
|
|
|
|
Dvieju ADC kanalu nuskaitymas AVR |
Parašytas: 2011 06 25, 16:48 |
|
|
|
didshirshis rašo: |
vienu zodziu kai yra return galima rasyt:
value_y=read(6); ir nereikia rasyti:
read(6);
value_y=adc_val; ane?
|
Kaip minejau, funkcija yra kintamasis. Apsibreziam trumpai, kad tai yra TIK kintamasis. Kaip jam priskirsi reiksme? Butent ta ir daro return, priskiria tam kintamajam reiksme.
Pabraukiau kur yra neteisinga vieta. Jei jau zinom, kad ten kintamasis, tai jis turi but kazkam priskirtas. Tavo atveju gaunasi numestas kintamasis be jokiu priskyrimo operaciju. Kompiliatorius cia mes klaida. adc_val egzistuoja tik funkcijoje ir tai nera globalus kintamasis, todel bandydamas panaudot adc_val gausi klaida.
didshirshis rašo: |
ir kodel rasoma tavo funkcijos pavadinime ne "void", o unsigned int? Suprantu kad kvailu klausimu klausineju, bet norisi zinoti |
Todel kad tai FUNKCIJA. Jei tai butu void, tai butu procedura. Kaip jau sakiau, funkcija yra kintamasis, todel reikia nurodyt kokio tipo tas kintamasis. Taisykles galioja lygiai tos pacios kaip ir kintamajam, ten gali but signed/unsigned,long,short,bool ir visi kiti imanomi kintamuju tipai.
Aplamai funkcijos yra itin patogios visais atvejais, nes gali naudot kaip funkcijos ivykdymo rezultata (daznai naudoja return 0, return 1 ar return -1). Del patogesnio skaitymo, kodo pradzioje nurodoma:
Kodas: |
#define ERROR 0
#define SUCCESS 1
|
Tada gali naudot sitas reiksmes patogesniam skaitymui tikrinimuose:
Kodas: |
unsigned int atidaryk_duris(void){
if(neatidare) {
return ERROR;
} else {
return SUCCESS;
}
}
.
.
.
if(!atidaryk_duris){
printf("Neatidare :(\n");
}
// kitu atveju koda vykdom toliau...
|
Funkcija gali patikrint ar tam tikra kodo vieta ivykdyta sekmingai. Jei taip - kodas vykdomas toliau, jei ne - gausi pranesima. Del to proceduros naudojamos zymiai reciau, nei funkcijos, o ir koda skaityt zymiai lengviau |
|
|
|
|
|
|
Dvieju ADC kanalu nuskaitymas AVR |
Parašytas: 2011 06 25, 17:20 |
|
|
|
Nu zodziu.. Visad naudojau "void"
O tarkim naudoju isorini DAC, tai jam duomenis siuncia "void", atrodo mazdaug taip:
Kodas: |
void SPI_Write_DACA(unsigned int DACA)
{
DACA=DACA|0x3000;
PORTB&=~(1<<4);//SS LOW
SPDR=(DACA>>8);
while (!(SPSR&(1<<SPIF)));
SPDR=DACA;
while (!(SPSR&(1<<SPIF)));
PORTB|=(1<<4);//SS HIGH
} |
tikiuosi cia teisingai kad naudoju "void" ??
o iskvieciu paprastai tarkim
Kodas: |
SPI_Write_DACA(500); |
|
|
_________________ Aš pažeidžiau forumo taisykles ir reklamavau paraše. ...Bet uz reklama tai susimokejau |
|
|
|
|
Dvieju ADC kanalu nuskaitymas AVR |
Parašytas: 2011 06 25, 21:25 |
|
|
|
Teisingai, bet dazniausiu atveju programeriai ir vel naudoja funkcija sitoj vietoj, kuri grazina rezultata ar ta f-ja ivykdyta sekmingai ar ne. |
|
|
|
|
|
|
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 |
|
|
|