OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1528|回复: 6

将char类型的数组改成int类型时报警,求解!!!

[复制链接]

42

主题

191

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
220
金钱
220
注册时间
2017-12-28
在线时间
62 小时
发表于 2018-2-28 15:27:59 | 显示全部楼层 |阅读模式
5金钱
UART2.c(1770): error:  #167: argument of type "unsigned char *" is incompatible with parameter of type "unsigned int *"

最佳答案

查看完整内容[请看2#楼]

比如定义了两个变量 unsigned char *ucTest1; unsigned int *uiTest2; 使用时可以这样 uiTest2 = (unsigned int *)ucTest1;
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

162

帖子

0

精华

高级会员

Rank: 4

积分
541
金钱
541
注册时间
2017-4-6
在线时间
67 小时
发表于 2018-2-28 15:28:00 | 显示全部楼层

比如定义了两个变量
unsigned char *ucTest1;

unsigned int *uiTest2;

使用时可以这样 uiTest2 = (unsigned int *)ucTest1;
回复

使用道具 举报

7

主题

162

帖子

0

精华

高级会员

Rank: 4

积分
541
金钱
541
注册时间
2017-4-6
在线时间
67 小时
发表于 2018-2-28 15:30:42 | 显示全部楼层
强制转换下
回复

使用道具 举报

42

主题

191

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
220
金钱
220
注册时间
2017-12-28
在线时间
62 小时
 楼主| 发表于 2018-2-28 16:26:59 | 显示全部楼层

强制转换后不正确,为什么呢?
回复

使用道具 举报

42

主题

191

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
220
金钱
220
注册时间
2017-12-28
在线时间
62 小时
 楼主| 发表于 2018-2-28 16:30:46 | 显示全部楼层

我强制转换后通过串口发送转换的数据,屏上接收不到,而没转换前使用char类型是可以接收到的
回复

使用道具 举报

7

主题

162

帖子

0

精华

高级会员

Rank: 4

积分
541
金钱
541
注册时间
2017-4-6
在线时间
67 小时
发表于 2018-2-28 16:37:23 | 显示全部楼层
imbest 发表于 2018-2-28 16:30
我强制转换后通过串口发送转换的数据,屏上接收不到,而没转换前使用char类型是可以接收到的

一个int占四个字节,char占用1个字节,所以你在转换的时候需要注意下。
下面这个例子你体会下

*uiTest2 =  (*ucTest1)|(*(ucTest1+1)<<8)|(*(ucTest1+2)<<16)|(*(ucTest1+3)<<24)
回复

使用道具 举报

0

主题

13

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1877
金钱
1877
注册时间
2012-12-17
在线时间
123 小时
发表于 2018-2-28 16:43:16 | 显示全部楼层
imbest 发表于 2018-2-28 16:30
我强制转换后通过串口发送转换的数据,屏上接收不到,而没转换前使用char类型是可以接收到的

串口只能一个字节一个字节发送,你具体代码是怎样的?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 10:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表