实现把数字转换为字符串,keil 报错,求助怎么修改

qq_42051697 2018-05-05 05:53:54
数字转字符串主要是为了之后用LCD1602显示
写的函数是这样
void num2char(int num,unsigned char temp[3]) 
{
int i;
i = 2; //
do{
temp[i] = num%10+'0'; //
num/=10;
i = i-1;

} while(i>=0);
}

调用如下
int num1,num2;
float Tset,Tregen;
unsigned char TS[3],TR[3];
Tset=getTset();
Tregen=getTregen();

num1=(int)(Tset);
num2=(int)(Tregen);
// sprintf(TS[3],"%s",num1);
// sprintf(TR[3],"%s",num2);
num2char(num1,TS[3]); //报错行
num2char(num2,TR[3]);

报错test.c(539): error C214: illegal pointer conversion

注释掉的sprintf用的时候也是报同样的错


求大神给讲讲怎么改
...全文
1522 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
schlafenhamster 2018-05-08
  • 打赏
  • 举报
回复
http://www.51hei.com/mcu/4327.html LCD1602的单片机驱动详解
qq_42051697 2018-05-08
  • 打赏
  • 举报
回复
LCD显示的是2816不是110,这是为什么?
qq_42051697 2018-05-08
  • 打赏
  • 举报
回复
我用sprintf
		sprintf(sz, "%d",110);
i=0;
		while(sz[i]!='\0')
		{
		 wdata_1602(sz[i]);i++;
		}
_杰杰_ 2018-05-07
  • 打赏
  • 举报
回复
直接采用sprint就好了
schlafenhamster 2018-05-05
  • 打赏
  • 举报
回复
void num2char(int num,unsigned char temp[3]) = void num2char(int num,unsigned char *temp) 而 num2char(num1,TS);// TS 是 数组首地址 即 char*
schlafenhamster 2018-05-05
  • 打赏
  • 举报
回复
num2char(num1,TS); TS[3]是越界的!

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧