gpt4 book ai didi

c - 如何避免 xc8 编译器中的警告 1352?

转载 作者:太空宇宙 更新时间:2023-11-04 04:10:30 25 4
gpt4 key购买 nike

我在 microchip 的 xc8 编译器中使用了这个宏:

#define Unlock()  \
do { \
asm("BANKSEL PPSLOCK"); \
asm("MOVLB PPSLOCK"); \
asm("MOVLW 0x55"); \
asm("MOVWF PPSLOCK"); \
asm("MOVLW 0xAA"); \
asm("MOVWF PPSLOCK"); \
asm("BCF PPSLOCK,0"); \
} while (0)

这是datasheet中提到的用于解锁外设管脚选择的特殊序列。
并始终收到这些警告:

../_main.c:437: warning: (1352) truncation of operand value (0xea0) to 8 bits
../_main.c:437: warning: (1352) truncation of operand value (0xea0) to 8 bits
../_main.c:440: warning: (1352) truncation of operand value (0xea0) to 4 bits

0xEA0PPSLOCK 寄存器的地址,但我没有看到任何要截断的内容,我只是在 8 位 SFR 中写入 8 位值。

最佳答案

MOVWF 操作仅占用地址操作数的 7 位,而您给了它 12 位。这就是您必须事先选择银行的原因。

关于c - 如何避免 xc8 编译器中的警告 1352?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58110773/

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