电子产业一站式赋能平台

PCB联盟网

搜索
查看: 124|回复: 2
收起左侧

请问 uint8_t 的地址,如何不报警告传参到 uint32_t 的函数里?

[复制链接]

633

主题

1927

帖子

8107

积分

联盟顾问

Rank: 3Rank: 3

积分
8107
发表于 2024-4-9 08:55:39 | 显示全部楼层 |阅读模式
请问 uint8_t 的地址,如何不报警告传参到 uint32_t 的函数里?-1.jpg 目前官方函数库的读uart数据是uint32_t 的.....
UART_ReadByte(uint32_t * data)
但我们使用的接收包是uint8_t位的...
简单大概是这样
int main(void)
{
unsigned char RecData[10]  = {0};
UART_ReadByte(&RecData[0]);
}
目前keil编译报警告
warning: incompatible pointer types passing 'unsigned char *' to parameter of type 'uint32_t *' (aka 'unsigned int *') [-Wincompatible-pointer-types]
我试过用强制转换
UART_ReadByte(&(uint32_t)RecData[0]);
但这样会报错.......请问正确的强制转换要怎么操作才行呢?
回复

使用道具 举报

0

主题

825

帖子

674

积分

二级会员

Rank: 2

积分
674
发表于 2024-4-9 08:56:04 | 显示全部楼层
请问 uint8_t 的地址,如何不报警告传参到 uint32_t 的函数里?-1.png
回复 支持 反对

使用道具 举报

10

主题

905

帖子

812

积分

二级会员

Rank: 2

积分
812
发表于 2024-4-9 08:56:30 | 显示全部楼层
uint32_t =uint8_t;应该不会报错呀。强制转换。
回复 支持 反对

使用道具 举报

发表回复

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

本版积分规则

关闭

站长推荐上一条 /1 下一条


联系客服 关注微信 下载APP 返回顶部 返回列表