请教一个形参类型的warning

dsoyy 2015-09-12 09:31:06
函数声明:
uint8_t DeviceID_CMD[] = "AT+CSCC=18\r\n";
void USART2_SendNData(uint8_t *P_TxBuff,uint8_t TxNum)
函数用法:

USART2_SendNData((uint8_t *)DeviceID_CMD,strlen(DeviceID_CMD));

报警信息:
warning: #167-D: argument of type "uint8_t *" is incompatible with parameter of type "const char *"

为什么会这样?如果我更改声明为:const uint8_t DeviceID_CMD[] = "AT+CSCC=18\r\n"; 会如何?
...全文
390 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
宋寒松 2015-09-13
  • 打赏
  • 举报
回复
把uint8_t 改为char。
lkjasdf9909 2015-09-13
  • 打赏
  • 举报
回复

#include <stdio.h>
typedef unsigned char   uint8_t;
uint8_t 和char 是不兼容的
dustpg 2015-09-12
  • 打赏
  • 举报
回复
uint8_t 一般来说就是unsigned char,与char自然是不兼容的, 需要 强制转换, 一般来说uint8_t*用来存储二进制数据, lz这里声明字符串为什么要用uint8_t
jiqiang01234 2015-09-12
  • 打赏
  • 举报
回复
const char*与const unsigned char*不兼容的警告。不要用uint8_t,直接用char

70,022

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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