打印
[ZLG-ARM]

TKStudio支持结构体成员自动提示吗?

[复制链接]
2541|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zjswuyunbo|  楼主 | 2010-7-11 17:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
bit6019| | 2010-7-11 17:06 | 只看该作者
自测试就是设置工作模式寄存器MOD为OX04,发送命令采用CMR=0x10,要接上终端电阻

使用特权

评论回复
板凳
linux1| | 2010-7-11 17:07 | 只看该作者
bit T=0; sbit LED_RED = P1^1; sbit LED_GRE = P1^0; void InitCan() { P2_7 = 0; EA = 0; IT0=0; SJAIntEn=0; P1_6 = 0; do { ModeControlReg = 0x01; Delayms(500); }while((ModeControlReg & 0x01)==0); ClockDivideReg=0x88;//选择模式,关闭时钟输出 InterruptEnReg=0x03;//开中断 AcceptCode0Reg=0xa5; AcceptCode1Reg=0x20; AcceptCode2Reg=0x00; AcceptCode3Reg=0x00; AccepMask0Reg=0xff; AccepMask1Reg=0xff; AccepMask2Reg=0xff; AccepMask3Reg=0xff; /* BusTiming0Reg =0x03; BusTiming1Reg =0xff; OutControlReg =0xaa; RxBufstartAdr = 0; TxErrCountReg = 0; ErrCodeCapReg = 0; */ do { ModeControlReg = 0x0c; }while((ModeControlReg&0x04) != 0x04); SJAIntEn=1; EA = 1; } void Ext0_ISR (void) interrupt 0 { T=1; SendSBUF(InterruptReg); return; } void main() { unsigned char i1; InitComm(); InitTimer(); P2_7 = 0; P1_6 = 1; Delayms(500); InitCan(); i1=StatusReg; SendSBUF(i1); Delayms(5000); i1=StatusReg; SendSBUF(i1); TxFramInFo = 0x08; /*SFF(data) DLC8 */ TxBuffer1 = 0xA5; /*标识符1 A5 1010 0101 */ TxBuffer2 = 0x20; /*标识符2 20 0010 0000 */ TxBuffer3 = 0x51; /*data1 =51 */ TxBuffer4 = 0x52; TxBuffer5 = 0x53; TxBuffer6 = 0x54; TxBuffer7 = 0x55; TxBuffer8 = 0x56; TxBuffer9 = 0x57; TxBuffer10 = 0x58; /*data8 =58 */ /*启动发送 */ CommandReg =0x10; /*置位发送请求位*/ i1=StatusReg; SendSBUF(i1); Delayms(5); i1=StatusReg; SendSBUF(i1); while(1) { if(T) LED_GRE=~LED_GRE; LED_RED = ~LED_RED; Delayms(5000); } } 输出为3C 3C 98 30 十六进制没有中断 我的程序有什么问题 谢谢

使用特权

评论回复
地板
zjswuyunbo|  楼主 | 2010-7-11 20:44 | 只看该作者
晕。。。太有意思了。。:funk:

使用特权

评论回复
5
tkstudio| | 2010-7-12 08:55 | 只看该作者
TKStudio是支持结构体成员自动提示的,请问您的结构是怎么定义和引用的呢?

使用特权

评论回复
6
zjswuyunbo|  楼主 | 2010-7-12 21:21 | 只看该作者
做了一个很简单的测试。
好像不同行。
代码如下:
typedef struct stime
{
unsigned char        sec;
unsigned char        min;

}stime;
stime tt;
main()
{

tt.sec=55;
tt.min=22;
while(1);

}

使用特权

评论回复
7
zjswuyunbo|  楼主 | 2010-7-12 21:21 | 只看该作者
写tt.。。。。。好像不会自动弹出成员。。。

使用特权

评论回复
8
zjswuyunbo|  楼主 | 2010-7-12 21:24 | 只看该作者
版本是TKStudio V3.3.1

使用特权

评论回复
9
hotpower| | 2010-7-13 05:48 | 只看该作者
俺没试过不加评说,但就聪明的Keil而言,只对tt的成员写而未读,可能全被优化了

使用特权

评论回复
10
Swallow-0322| | 2010-7-13 08:58 | 只看该作者
11
tkstudio| | 2010-7-13 09:31 | 只看该作者
目前对typedef的解析还不够强,所以typedef定义的结构体目前不支持智能感知。您可以先这样写:
struct stime
{
unsigned char        sec;
unsigned char        min;
};
struct stime tt;
main()
{
tt.sec=55;
tt.min=22;
while(1);
}

使用特权

评论回复
12
tkstudio| | 2010-7-14 10:25 | 只看该作者
TKStudio对智能感知已作了相应的改进,对以下几种结构体成员提示都进行了支持,该功能将在下一个版本更新,请关注!

改进后的版本在以下几种定义中,对xx,yy,zz引用时都会有成员提示。
1.
struct stime
{
unsigned char        sec;
unsigned char        min;
};

stime xx;
struct stime yy;

2.
typedef struct stime
{
unsigned char        sec;
unsigned char        min;
}TIME;

TIME zz;

使用特权

评论回复
13
tkstudio| | 2010-7-14 10:26 | 只看该作者
非常感谢各位对TKStudio的关注和热心反馈!有你们的支持,TKStudio一定会越做越好的!

使用特权

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

本版积分规则

163

主题

1578

帖子

1

粉丝