含义

2019-03-24 12:08发布

@是什么作用
const uchar EnAAReg[2] @ 0x1046 =
{
0x21,   //自动应答寄存器地址
0x00   //禁止所有通道的自动应答
}; 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
lcofjp
1楼-- · 2019-03-25 16:44
你把事情想简单了,这是flash,不能随便指哪儿改哪儿的。
其次,即使是RAM,你也要提前通过@符号告诉编译给你留个地方,好让指针去修改。否则不预留的话,你随便指定一个地址,你怎么知道这个地址不被其他变量使用呢,这样改的话程序必乱,这就是指针乱用,非常危险。
ljk926
2楼-- · 2019-03-25 22:04
 精彩回答 2  元偷偷看……
ljk926
3楼-- · 2019-03-26 04:00
但是我看TI flash例子中 它没有用@来预留空间
// 主函数
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
FCTL2 = FWKEY + FSSEL0 + FN0; // 定义时钟
value = 0; // 初始化value=0
while(1)
{
Write_SegA(value++); // 写信息段A
copy_A2B(); // 信息段A内容复制到信息段B
}
}
// 写信息段A函数
void write_SegA(unsigned char value)
{
unsigned char *Flash_ptr; // Flash指针
unsigned int i;
Flash_ptr = (unsigned char *)0x1080; // 初始化Flash指针
FCTL1 = FWKEY + ERASE; // 允许擦除
FCTL3 = FWKEY; // 解锁
*Flash_ptr = 0; // 空写,启动擦除
FCTL1 = FWKEY + WRT; // 允许写
for(i =0;i < 128;i ++) // 循环写信息段A的128字节
{
*Flash_ptr++ = value;
}
FCTL1 = FWKEY;
FCTL3 = FWKEY + LOCK; // 锁定
}
lcofjp
4楼-- · 2019-03-26 04:56
@是在特殊情况下才用的,目的是在特定地址分配空间。
常规程序用不到。
ljk926
5楼-- · 2019-03-26 10:27
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章