打印
[STM32F1]

这种错误谁见过?

[复制链接]
1988|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
JY-DX-JY|  楼主 | 2015-5-20 17:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的MDK5.14
我这样写程序:
if((c<<BitCnt)&0x80)
                         SAM_DAT_HIGH;   /*ÅжϷ¢ËÍλ*/

                 else
                                 SAM_DAT_LOW;

else这行有错误:
IIC.C(108): error:  #127: expected a statement
                 else

我这样写就不报错啦:
if((c<<BitCnt)&0x80)
                         SAM_DAT_HIGH;   /*ÅжϷ¢ËÍλ*/

                 if(((c<<BitCnt)&0x80)==0)
                                 SAM_DAT_LOW;

为什么?是编译器的BUG吗?请大神指教,谢谢!
沙发
liumingqin| | 2015-5-20 18:09 | 只看该作者
加上{}看看行不?

使用特权

评论回复
板凳
JY-DX-JY|  楼主 | 2015-5-20 18:25 | 只看该作者
谢谢!加上括号可以了,不过还是不明白为什么会这样。

使用特权

评论回复
地板
mmuuss586| | 2015-5-20 19:34 | 只看该作者

看语法没啥问题;

使用特权

评论回复
5
Thor9| | 2015-5-20 19:35 | 只看该作者
按理说不应该啊,两种写法应该都对的

使用特权

评论回复
6
myxiaonia| | 2015-5-20 19:44 | 只看该作者
SAM_DAT_HIGH  很明显这个宏是多个语句,或者已经用;结尾

使用特权

评论回复
7
JY-DX-JY|  楼主 | 2015-5-20 20:03 | 只看该作者
我的宏是这样的:
#define SAM_DAT_HIGH        {GPIO_SetBits(GPIOA, GPIO_Pin_13 );GPIO_SetBits(GPIOA, GPIO_Pin_8 );}
#define SAM_DAT_LOW                {GPIO_SetBits(GPIOA, GPIO_Pin_13 );GPIO_ResetBits(GPIOA, GPIO_Pin_8 );}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:晴天响霹雳,平地一声雷。

245

主题

3351

帖子

30

粉丝