Pereiti prie turinio

Funkcijos iškvietimas, kintamasis - tekstas


Rekomenduojami pranešimai

Prie esmės:Pagrindinė programa:

 

unsigned char text;
#include <send_sms.h>
void main() {
 do {
	if(Button(&PORTD, 0, 1, 1)) {  
     PORTD = 0b01000;
     }
   if(Button(&PORTD, 0, 1, 0)) {
   PORTD = 0b00000;
  	text="labas";                         			//ar gerai priskiriamas tekstinis kintamasis?
  	send_sms(text);                 			//šitą kintamąjį turi nusiųsti funkcijai (su kabutėmis)
   }
 } while(1);
} 

 

 

 

Iškviečiama funkcija( esanti send_sms.h):

 


unsigned short i;

void send_sms(char temp) {          		//ar taip apibrėžt šitą kintamąjį? Arjis išliks kaip tekstas su kabutėmis?

UART1_Write_Text(temp);                      // UART1_Write_Text("labas") – taip turi gautis.

}

 

Ties paskutine funkcijos eilute gaunu ne tekstą, bet decimal skaičių (kurį veliau supranta kaip vieną char simbolį).

 

Programą apkarpiau, bet šito užtenka, kad suprastumėte mano klaidas, kurių nerandu. Greičiausiai ne taip uždeklaruoju kažka. Prašau pagalbos.

Kad nepostinti daug, galima AŽ. Ačiū už pagalbą.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ties ta vieta mano žinios baigiasi, tai norėčiau konkretesnių patarimų

Bandyk kažką panašaus pakeist

void send_sms(char temp[255]) {                      

UART1_Write_Text(temp);                   

}

arba

void send_sms(string temp) {                      

UART1_Write_Text(temp);                   

}

Tiesą sakant manau visvien klaidą mes, bet tingiu c++ kompiliatorių rašytis :D

 

Ar ir dar

unsigned char text;

šitą irgi tada reiktų pakeisit į

unsigned char text[255];

arba

string text;

Redagavo drez3d
Nuoroda į pranešimą
Dalintis kituose puslapiuose

#include <send_sms.h>
void main() {
 do {
	if(Button(&PORTD, 0, 1, 1)) {  
     PORTD = 0b01000;
     }
   if(Button(&PORTD, 0, 1, 0)) {
   PORTD = 0b00000;
  	unsigned char text[] ="labas";                         			//ar gerai priskiriamas tekstinis kintamasis?
  	send_sms(text);                 			//šitą kintamąjį turi nusiųsti funkcijai (su kabutėmis)
   }
 } while(1);
} 

 

 

 

Iškviečiama funkcija( esanti send_sms.h):

 


unsigned short i;

void send_sms(char temp[]) {          		//ar taip apibrėžt šitą kintamąjį? Arjis išliks kaip tekstas su kabutėmis?

UART1_Write_Text(temp);                      // UART1_Write_Text("labas") – taip turi gautis.

}

Gal dabar gerai bus?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prie esmės:Pagrindinė programa:

 

unsigned char text;
#include <send_sms.h>
void main() {
 do {
	if(Button(&PORTD, 0, 1, 1)) {  
     PORTD = 0b01000;
     }
   if(Button(&PORTD, 0, 1, 0)) {
   PORTD = 0b00000;
  	text="labas";                         			//ar gerai priskiriamas tekstinis kintamasis?
  	send_sms(text);                 			//šitą kintamąjį turi nusiųsti funkcijai (su kabutėmis)
   }
 } while(1);
} 

 

C kalboj tokio kaip string nėra. Todėl kai tu kintamajam text, kuris yra char tipo(1 simbolis), priskiri žodį labas, jis išsaugo tik pirmą raidę. Reikia naudoti char masyvus, pvz. unsigned char text[255];

Redagavo Shokutis
Nuoroda į pranešimą
Dalintis kituose puslapiuose

C kalboj tokio kaip string nėra. Todėl kai tu kintamajam text, kuris yra char tipo(1 simbolis), priskiri žodį labas, jis išsaugo tik pirmą raidę. Reikia naudoti char masyvus, pvz. unsigned char text[255];

 

unsigned char text[80];

ir

 

text[]="labas";
send_sms(text);

duoda :

 Invalid expression

ir

 Implicit conversion of pointer to int 

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...