OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1959|回复: 0

IAR STM8S 函数参数为unsigned char 或 signed char 运行错误

[复制链接]
回帖奖励 10 金钱 回复本帖可获得 10 金钱奖励! 每人限 1 次

27

主题

91

帖子

0

精华

初级会员

Rank: 2

积分
137
金钱
137
注册时间
2014-8-11
在线时间
3 小时
发表于 2017-7-12 08:40:08 | 显示全部楼层 |阅读模式
在IAR STM8 环境下, MCU是 STM8S208MB

[mw_shl_code=c,true]
s8 add_test(s8 a, s8 b)
{
      s8 ret = 0;
   
      ret = a + b;
   
      return ret;
}


int main(void)
{
    ...

    if(  add_test(2, 3 ) == 5 )
    {
        LOG("add_test  ok");
    }

    ...
}
[/mw_shl_code]

调试发现:如果参数的数据类型是int,就正常;
如果参数的数据类型是 unsigned char 或 signed char
参数的值就不正确,赋值时a=2, b=3, 进入函数后: a=0x2c, b=0x00


这是为什么啊? 哪位大神指点下迷津?


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-6-25 13:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表