你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
用MDK 编译stm32F 出现的问题 关于取反操作
[复制链接]
cocoguojia
提问时间:2013-10-14 15:50 /
我对同一个数组的两个元素进行比较,其中一个数组的元素我是取反后再进行比较的,我用Jlink仿真看,值都是相等的,但
就是程序认为是不等的,每次仿真小指针都往不等的程序走
实在没办法了,我就看汇编,才发现问题,原来在取反的时候,编译器是对32位取反
最后我在取反后,加了个强制转换成unsigned char 后 程序就正常了
详情请见图片 2张
其中 1 是我修改前的汇编
2是我修改后,好用的汇编
赞
0
收藏
0
评论
3
分享
发布时间:2013-10-14 15:50
举报
请先
登录
后回复
3个回答
Hiker天下
回答时间:2013-10-14 16:41:14
a0a.1 0b0c
RE:用MDK 编译stm32F 出现的问题 关于取反操作
恩,是的。感谢楼主的分享。
MDK在数据计算时 所用的寄存器都是32位,所以楼主所用的情况要相当注意。
还有个问题,就是在 有符号数和一个无符号数进行比较时 也会得不到我们所期望的结果。所以比较等逻辑运算时要注意变量的类型的一至性。
赞
0
评论
回复
支持
反对
狼
回答时间:2013-10-14 22:53:31
a0a.1 0b0c
RE:用MDK 编译stm32F 出现的问题 关于取反操作
很棘手的问题吧,数据类型的问题我以前也碰到过,弄了几天,想起来恨不得撞墙。
赞
0
评论
回复
支持
反对
dzc2001
回答时间:2013-10-15 17:01:44
a0a.1 0b0c
RE:用MDK 编译stm32F 出现的问题 关于取反操作
软件仿真还是不如硬件使用好的。还有小数点位数也是受这个影响
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
RE:用MDK 编译stm32F 出现的问题 关于取反操作
MDK在数据计算时 所用的寄存器都是32位,所以楼主所用的情况要相当注意。
还有个问题,就是在 有符号数和一个无符号数进行比较时 也会得不到我们所期望的结果。所以比较等逻辑运算时要注意变量的类型的一至性。
RE:用MDK 编译stm32F 出现的问题 关于取反操作
RE:用MDK 编译stm32F 出现的问题 关于取反操作