使用变量而不是硬编码的字符串

时间:2018-06-14 08:18:03

标签: avr atmega

我打算使用含有TM1637的LED显示屏 编程语言:avr-gcc
我找到了这个图书馆:
https://github.com/project37cat/TM1637-lib-AVR/blob/master/tm1637.h
在这个例子中,它通过使用函数led_print为我工作: https://github.com/project37cat/TM1637-lib-AVR/blob/master/main.c
但是我无法弄清楚如何使用变量而不是硬编码字符串(计划使用整数值,但我不确定它是否可能因为库需要字符串)。

1 个答案:

答案 0 :(得分:1)

  

编程语言:avr-gcc

GCC是一种跨平台的编译器,而不是编程语言。在这种情况下,您使用“C”进行编程,但它也可以是C ++。

  

计划使用整数值,但我不确定它是否可能因为库需要字符串

您必须将所需的整数值转换为字符串(char-array)表示。有几种方法可以实现这一目标。一个常见的方法是使用snprintf()。另请查看format strings

#include <stdio.h>   // library that contains snprintf()

char buffer[10];   // this is the char-buffer where your "string" will be stored
int value = 234452;   // this is the value you want to convert
snprintf(buffer, 10, "%d", value);  // this coverts "value" to a decimal representation as specified by the format string "%d" and copies it to "buffer"

然后你应该可以使用

led_print(0, buffer);