打印

怪怪的问题!!struct 比较出错

[复制链接]
1700|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 Ryanhsiung 于 2011-6-23 16:59 编辑

程序写了一天,都没有写进芯片试,写进去后就挂了,(先前是对的)
我看不懂ARM的汇编,特请各位大侠指教if(Pen_Point.Key_Done)     //  Pen_Point.Key_Done 不管是0 是1 都是以下结果
0x08005FDC 4817      LDR      r0,[pc,#92]  ; @0x0800603C    (这时r0 0x080075D8  或 0x08009948 )
0x08005FDE 7C80      LDRB     r0,[r0,#0x12]       (这时r0  为0X2000314C,这个是结构体的地址)
0x08005FE0 B158      CBZ      r0,0x08005FFA      (这时r0  为0X39)
最后结果出来都是不对的!(附件为这个问题的截图)
结构体定义
typedef struct
{
        u16 X0;//原始坐标
        u16 Y0;
        u16 X; //最终/暂存坐标
        u16 Y;                                                               
        u8  Key_Sta;//笔的状态                          
//触摸屏校准参数                                 
        u8 Key_One;                //用于第一次记录数据
        u8 Key_Done;        //按下还是松开,不能用ONE代替,因为ONE在中断中,可能虽时改变

        float xfac;
        float yfac;
        short xoff;
        short yoff;
}Pen_Holder;         

103rbt6+ucos,先前是好好的,暂时找到一个解决办法:
U16 i;
i =Pen_Point.Key_Done;
再if(i)

未命名.jpg (1.74 MB )

未命名.jpg
沙发
Ryanhsiung|  楼主 | 2011-6-23 17:00 | 只看该作者
LDR      r0,[pc,#92]  ; @0x0800603C    (这时r0 0x080075D8  或 0x08009948 )
LDRB     r0,[r0,#0x12]       (这时r0  为0X2000314C,这个是结构体的地址)
CBZ      r0,0x08005FFA
  
这三条语句是什么意思?

使用特权

评论回复
板凳
香水城| | 2011-6-23 17:43 | 只看该作者
1) 最后结果出来都是不对的,怎么样是不对?怎么样才对?
2)u16是什么类型?u8是什么类型?直接写if (Pen_Point.Key_Done)表示先把Pen_Point.Key_Done转换为int类型,这是你所要的吗?

使用特权

评论回复
地板
Ryanhsiung|  楼主 | 2011-6-23 17:46 | 只看该作者
3# 香水城
0x08005FDC 4817      LDR      r0,[pc,#92]  ; @0x0800603C    (这时r0 0x080075D8  或 0x08009948 )
0x08005FDE 7C80      LDRB     r0,[r0,#0x12]       (这时r0  为0X2000314C,这个是结构体的地址)
0x08005FE0 B158      CBZ      r0,0x08005FFA      (这时r0  为0X39)   

这个就是过程,u16 为usigned int       u8 为usigned char

使用特权

评论回复
5
i55| | 2011-6-23 19:48 | 只看该作者
换IAR试试

使用特权

评论回复
6
Ryanhsiung|  楼主 | 2011-6-24 09:39 | 只看该作者
找到原因了,谢谢大家的关注
  这个文件中u16 为usigned int       实际应该为short ,导致与先前定义不同,但是MDK没有报错。

使用特权

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

本版积分规则

认证:嵌入式技术专家
简介:道阻且长,行则将至!

64

主题

4654

帖子

14

粉丝