擦鞋匠 发表于 2018-8-1 17:33:37

调试msp430遇到怪事:难道使用‘|’和使用‘=’含义不同?

msp4305438A + IAR

这两天开始调试msp430板子,额,今天遇到怪事了,刷新我的认知,难道是我哪里理解错了。

我想使用USCI_B3硬件spi,驱动spi接口lcd,如下如spi初始化部分截图。

如图,如果使用方式1,lcd正常显示;如果使用方式2,lcd无任何反应(其它所有配置都一模一样!)。



小声问一句:这两种方式难道不是一样的???恳请指教!

XA144F 发表于 2018-8-1 17:45:57

括号,括号,括号!

kitten 发表于 2018-8-1 17:47:55

现在写代码都是尽可能的多加括号,任何可能出现歧义的地方都加,避免编译器的差异,也不用费尽脑筋的去想运算的优先级。效率嘛差点就差点。

mangolu 发表于 2018-8-1 17:49:38

P10DIR和P10DS一样?P10SEL和P10DIR一样?

wmm20031015 发表于 2018-8-1 17:50:39

表示没看懂,方式1和方式2操作的寄存器不一样 ,结果怎么会一样。

weihei 发表于 2018-8-1 18:01:33

编译器的优化也需要考虑把。

aammoo 发表于 2018-8-1 18:07:16

优先级的问题吧,多加括号

sunrn123 发表于 2018-8-1 18:12:48

这也一样?楼主是刚刚毕业的学生吧!

ahfong2006 发表于 2018-8-1 18:20:32

没看出哪里一样啊,好像每两行都不一样

bblythe2017 发表于 2018-8-1 18:31:57

本帖最后由 bblythe2017 于 2018-8-1 18:39 编辑

楼主,是学生吧,

你上面的方式1,从没见过位“加”的形式,虽说结果是正确的。

方式2的写法,似乎有看到过。但是运算顺序对不对,就没仔细想了。要避免落入C语言移位取反的陷阱。


还有初级错误,你2种方式,配置的寄存器,都不一样。

擦鞋匠 发表于 2018-8-1 18:59:05

好吧,是我看错了,怪不得我一直在纠结为什么...

感谢各位,不好意思,哈

wye11083 发表于 2018-8-1 19:13:03

mangolu 发表于 2018-8-1 17:49
P10DIR和P10DS一样?P10SEL和P10DIR一样?

哈哈我也想了半天

擦鞋匠 发表于 2018-8-1 21:18:45

wye11083 发表于 2018-8-1 19:13
哈哈我也想了半天

...千言万语...尽在不言中...

arm 发表于 2018-8-1 21:25:25

wye11083 发表于 2018-8-1 19:13
哈哈我也想了半天

哈哈,我也想了半天

codefish 发表于 2018-8-1 21:29:32

初学者往往就是这么搞笑

jianfengxixi 发表于 2018-8-2 07:15:13

看了半天还以为我的C语言学错了。。。

liurangzhou 发表于 2018-8-2 08:43:36

自己的低级错误,又去怀疑编译器

laoshuhunya 发表于 2018-8-2 09:42:21

codefish 发表于 2018-8-1 21:29
初学者往往就是这么搞笑

楼主可不是初学者,可能是熬夜过度精神恍惚
   

大傻师 发表于 2018-8-2 19:12:08

特意查了下优先级表,这里不是优先级的问题,寄存器名字搞错了

擦鞋匠 发表于 2018-8-2 19:39:01

大傻师 发表于 2018-8-2 19:12
特意查了下优先级表,这里不是优先级的问题,寄存器名字搞错了

真的很尴尬。
真心对各位说一句:抱歉!

sbusr 发表于 2018-8-2 20:34:27

差点就要说优先级问题了。楼主可是来玩大家来找茬的?

peecehood 发表于 2018-11-24 00:42:13

括弧果然重要。
页: [1]
查看完整版本: 调试msp430遇到怪事:难道使用‘|’和使用‘=’含义不同?