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