陈家乐 发表于 2025-2-18 13:00:37

【吐槽一下软件bug】为什么我这么写有问题,移位操作该何去何从

我以为是我数据移位的位数不对导致的PWM无法正常工作,曾用AI介入帮助思考检查,但未发现不合理的部分,直到我写好了寄存器=给定值的一系列代码没问题,但是一到用宏定义一个位并移动多少位时出错,这个将如何解决?工程师帮解决!


UPDATE:问题解决,只需要将+号改成或|就可以了!!

陈家乐 发表于 2025-2-18 13:01:45

忽略PWMA和PWMB的区别,其实第一行那么写就不行,第二行就可以,究竟是为什么,本想定义好宏来方便操作,没想到居然掉入无底深渊?!

ercircle 发表于 2025-2-18 13:33:40


看是否这个差异导致:
1 + 1 == 10(二进制)== 2(十进制)
1 | 1 == 01(二进制) == 1(十进制)

DebugLab 发表于 2025-2-18 13:39:51

注意变量类型和运算符优先级



陈家乐 发表于 2025-2-18 23:48:10

ercircle 发表于 2025-2-18 11:33
看是否这个差异导致:
1 + 1 == 10(二进制)== 2(十进制)
1 | 1 == 01(二进制) == 1(十进制) ...

{:fendou:}是的,刚想到

陈家乐 发表于 2025-2-18 23:50:17

DebugLab 发表于 2025-2-18 11:39
注意变量类型和运算符优先级

较为高深{:touxiao:}
页: [1]
查看完整版本: 【吐槽一下软件bug】为什么我这么写有问题,移位操作该何去何从