Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将EEPROM中的代码写入字符数组_C++_Arduino_Char_Byte_Eeprom - Fatal编程技术网

C++ 将EEPROM中的代码写入字符数组

C++ 将EEPROM中的代码写入字符数组,c++,arduino,char,byte,eeprom,C++,Arduino,Char,Byte,Eeprom,在EEPROM上,pincode 1234以字节形式写入。现在我想读出pincode并将其写入char类型的数组,然后在串行监视器上打印,但我只得到了如图所示的矩形。但是如果我直接用“serial.print(EEPROM.read(I));”将其打印到串行监视器上,我会得到“1234”。 const byte PINLENGTH=4; 字符pinCode[PINLENGTH+1]; 无效设置(){ Serial.begin(9600); 串行打印(pinCode[0]); 对于(int i=

在EEPROM上,pincode 1234以字节形式写入。现在我想读出pincode并将其写入char类型的数组,然后在串行监视器上打印,但我只得到了如图所示的矩形。但是如果我直接用“serial.print(EEPROM.read(I));”将其打印到串行监视器上,我会得到“1234”。

const byte PINLENGTH=4;
字符pinCode[PINLENGTH+1];
无效设置(){
Serial.begin(9600);
串行打印(pinCode[0]);
对于(int i=0;i
试试这个:

const byte PINLENGTH = 4;
char pinCode[PINLENGTH+1];

void setup() {
Serial.begin(9600);

for ( int i = 0; i < PINLENGTH; ++i ){
  pinCode[i] = (char) EEPROM.read(i) + '0';    // <- Note +'0'
  Serial.print(pinCode[i]);
}}
const byte PINLENGTH=4;
字符pinCode[PINLENGTH+1];
无效设置(){
Serial.begin(9600);
对于(int i=0;i
const byte PINLENGTH = 4;
char pinCode[PINLENGTH+1];

void setup() {
Serial.begin(9600);

for ( int i = 0; i < PINLENGTH; ++i ){
  pinCode[i] = (char) EEPROM.read(i) + '0';    // <- Note +'0'
  Serial.print(pinCode[i]);
}}
const byte PINLENGTH=4;
字符pinCode[PINLENGTH+1];
无效设置(){
Serial.begin(9600);
对于(int i=0;i

产生输出“112”,因为打印在不同的数据类型上表现不同。

是以字符形式还是以原始二进制形式存储的“pin码”?为什么在读入数组之前打印
pinCode[0]
?是“pin码”以字符或数字原始二进制形式存储?为什么在读入数组之前要打印
pinCode[0]
byte b1=1;
char c1 = 49;
char c2 = '2';
Serial.print(b1); 
Serial.print(c1); 
Serial. println(c2);