gpt4 book ai didi

关于设置第 32 位的编译器警告

转载 作者:太空狗 更新时间:2023-10-29 15:55:22 25 4
gpt4 key购买 nike

我在设置第 32 位时在代码中收到编译器警告。代码有效,但这个警告让我很烦。

编译器为 Keil C,处理器为 32 位 ARM。代码如下

PINSEL0 |= PINSEL_AD15;

其中PINSEL0为32位寄存器,定义为

#define PINSEL0         (*((volatile unsigned long *) 0xE002C000))

PINSEL_AD15定义如下:

#define PINSEL_AD15  ((1<<30)|(1<<31)) 

我收到的警告消息是:整数运算结果超出范围

最佳答案

文字 1 是一个有符号 整数,因此当您移动 31 位时,您将超出范围。尝试使用无符号整数:

(1U << 31)

关于关于设置第 32 位的编译器警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15373042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com