dosazení proměnné

Nedaří se vám s projektem a nenašli jste vhodné místo, kde se zeptat? Napište sem.
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: dosazení proměnné

Příspěvek od ondraN » 17 led 2022, 10:00

A pokud bys potřeboval jen do 99 a řetězec jako si uvedl v tom svém řešení, je to takhle

Kód: Vybrat vše

char seriesName[4]={C00};
byte num=0; // maximalni hodnota 99!!
for (byte i=0, byte n=10; i<2; i++, n=n/10 ){
	seriesName[i+1]='0'+(num /n);
	num=num %n;
}

peterple
Příspěvky: 156
Registrován: 22 zář 2021, 20:20
Reputation: 0

Re: dosazení proměnné

Příspěvek od peterple » 17 led 2022, 18:48

na dve cifry to ide aj bez cyklu

Kód: Vybrat vše

char seriesName[] = "C00";
seriesName[2]=(pozice %10 )|'0';
seriesName[1]=(pozice /10 )|'0';
a ak nechce človek tie zbytočné nuly a má toho povedzme viacej a ešte si chce aj zvoliť číselnú sústavu tak

Kód: Vybrat vše

#include "MegunoLink.h"

TimePlot MyPlot; //no channel selected

unsigned int pozice = 65535;
char seriesName[7] = "C";
void setup() {
  Serial.begin(9600);  
  MyPlot.SetXLabel("Time");
  MyPlot.SetYLabel("Value");
}

void loop() {
  utoa(pozice, &seriesName[1],10);
  MyPlot.SendData(seriesName, 1555);  //tady potrebuju dosadit prommenou "pozice" místo čísla 1. Znak "C" musí zůstat

}

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 13 hostů