Arduino 的 C 语言转换

发布于 2024-11-04 04:16:21 字数 646 浏览 3 评论 0原文

void digitalClockDisplay(){
  // digital clock display of the time
  Serial.print(hour());
  printDigits(minute());
  Serial.println(); 


}



void printDigits(int digits){
  // utility function for digital clock display: prints preceding colon and leading 0
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

//I tried something like this

//void time(){

//char* hr = (char*)hour();

//Serial.println(hr);

//}
//But when I print it it gives a whole bunch of jibberish

这是我正在使用的两个函数,我想要做的是创建一个类似于 digitalClockDisplay 函数的函数,但是一旦我希望能够将其与另一个函数进行比较,该函数就会将小时:分钟作为 char* 返回字符*

void digitalClockDisplay(){
  // digital clock display of the time
  Serial.print(hour());
  printDigits(minute());
  Serial.println(); 


}



void printDigits(int digits){
  // utility function for digital clock display: prints preceding colon and leading 0
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

//I tried something like this

//void time(){

//char* hr = (char*)hour();

//Serial.println(hr);

//}
//But when I print it it gives a whole bunch of jibberish

Here are the two functions I'm using what I'm trying to do is make a function like the digitalClockDisplay function but one that returns the hour:minute as a char* once I have that I want to be able to compare that to another char*

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧竹 2024-11-11 04:16:21

hour() 似乎返回一个 int,因此

char* hr = (char*)hour();
Serial.println(hr);

int 转换为指针,然后将该(无意义)地址处的字节发送到串行

你可能想要这样的东西:

char hr[8];
snprintf(hr,8,"%i:%02i",hour(),minute());
Serial.println(hr);

hour() seems to be returning a int, so

char* hr = (char*)hour();
Serial.println(hr);

casts a int to a pointer and then sends the bytes at that (meaningless) address to Serial.

You probably want something like:

char hr[8];
snprintf(hr,8,"%i:%02i",hour(),minute());
Serial.println(hr);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文