怎样读取单片机片内ROM的某一地址值并验证?
我用下面代码想读取单片机片内的一个地址值并验证,结果没成功,请大神帮忙。#include<reg51.h>#include<absacc.h>typedefunsigne...
我用下面代码想读取单片机片内的一个地址值并验证,结果没成功,请大神帮忙。
#include <reg51.h>
#include<absacc.h>
typedef unsigned char BYTE;
BYTE cptr;
sbit LED=P2^5;
sbit LD2=P2^4;
void main()
{
unsigned char IDflag=0;
cptr=CBYTE[0x1ff]; // 读出单片机 片内ROM中一个地址0x1ff值
LED=1;
LD2=1;
if (cptr==0x27) //验证地址0x1ff内的数据是否是0x27
IDflag=1;
while(1)
{
if (IDflag==1)
LED=0; //这灯亮表示验证通过
else
LD2=0;
}
} 展开
#include <reg51.h>
#include<absacc.h>
typedef unsigned char BYTE;
BYTE cptr;
sbit LED=P2^5;
sbit LD2=P2^4;
void main()
{
unsigned char IDflag=0;
cptr=CBYTE[0x1ff]; // 读出单片机 片内ROM中一个地址0x1ff值
LED=1;
LD2=1;
if (cptr==0x27) //验证地址0x1ff内的数据是否是0x27
IDflag=1;
while(1)
{
if (IDflag==1)
LED=0; //这灯亮表示验证通过
else
LD2=0;
}
} 展开
3个回答
展开全部
怎样读取单片机片内ROM的某一地址值并验证?
首先你这个题目不太了解。。。。你到底要干嘛
再看到
ptr=CBYTE[0x1ff]; // 读出单片机 片内ROM中一个地址0x1ff值
这段代码就更不理解你要干嘛了。。。CBYTE[0x1ff]这个是数组啊,你要弄啥?上面又没定义数组。
这个C语言,你要是想知道哪个变量的储存地址,要定义一个指针变量,并让这个指针变量指向那个变量。那个这个指针的值就是这个变量的内存地址了。。。。你是这个意思?
首先你这个题目不太了解。。。。你到底要干嘛
再看到
ptr=CBYTE[0x1ff]; // 读出单片机 片内ROM中一个地址0x1ff值
这段代码就更不理解你要干嘛了。。。CBYTE[0x1ff]这个是数组啊,你要弄啥?上面又没定义数组。
这个C语言,你要是想知道哪个变量的储存地址,要定义一个指针变量,并让这个指针变量指向那个变量。那个这个指针的值就是这个变量的内存地址了。。。。你是这个意思?
展开全部
程序执行的结果是什么?
通过、不通过,是什么意思?
直接把读出值,显示出来:
P2 = cptr;
不好吗?
通过、不通过,是什么意思?
直接把读出值,显示出来:
P2 = cptr;
不好吗?
更多追问追答
追问
灯不亮。我用串口读出的值是0x27。但用CBYTE读不出来。
追答
用串口读出的,是...、用 CBYTE 读...。
两种方法,你用的,不是同一个程序,那么,
程序代码,显然不同。
ROM中的这个单元,内容不同,这是很正常的。
这个 ROM 的 01FFH 单元,里面究竟是什么,
你知道吗?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关注这个问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询