调试msp430遇到怪事:难道使用‘|’和使用‘=’含义不同?
msp4305438A + IAR这两天开始调试msp430板子,额,今天遇到怪事了,刷新我的认知,难道是我哪里理解错了。
我想使用USCI_B3硬件spi,驱动spi接口lcd,如下如spi初始化部分截图。
如图,如果使用方式1,lcd正常显示;如果使用方式2,lcd无任何反应(其它所有配置都一模一样!)。
小声问一句:这两种方式难道不是一样的???恳请指教! 括号,括号,括号! 现在写代码都是尽可能的多加括号,任何可能出现歧义的地方都加,避免编译器的差异,也不用费尽脑筋的去想运算的优先级。效率嘛差点就差点。 P10DIR和P10DS一样?P10SEL和P10DIR一样? 表示没看懂,方式1和方式2操作的寄存器不一样 ,结果怎么会一样。 编译器的优化也需要考虑把。 优先级的问题吧,多加括号 这也一样?楼主是刚刚毕业的学生吧! 没看出哪里一样啊,好像每两行都不一样 本帖最后由 bblythe2017 于 2018-8-1 18:39 编辑
楼主,是学生吧,
你上面的方式1,从没见过位“加”的形式,虽说结果是正确的。
方式2的写法,似乎有看到过。但是运算顺序对不对,就没仔细想了。要避免落入C语言移位取反的陷阱。
还有初级错误,你2种方式,配置的寄存器,都不一样。 好吧,是我看错了,怪不得我一直在纠结为什么...
感谢各位,不好意思,哈 mangolu 发表于 2018-8-1 17:49
P10DIR和P10DS一样?P10SEL和P10DIR一样?
哈哈我也想了半天 wye11083 发表于 2018-8-1 19:13
哈哈我也想了半天
...千言万语...尽在不言中... wye11083 发表于 2018-8-1 19:13
哈哈我也想了半天
哈哈,我也想了半天 初学者往往就是这么搞笑 看了半天还以为我的C语言学错了。。。 自己的低级错误,又去怀疑编译器 codefish 发表于 2018-8-1 21:29
初学者往往就是这么搞笑
楼主可不是初学者,可能是熬夜过度精神恍惚
特意查了下优先级表,这里不是优先级的问题,寄存器名字搞错了 大傻师 发表于 2018-8-2 19:12
特意查了下优先级表,这里不是优先级的问题,寄存器名字搞错了
真的很尴尬。
真心对各位说一句:抱歉! 差点就要说优先级问题了。楼主可是来玩大家来找茬的? 括弧果然重要。
页:
[1]