-
自己写一段小代码就好了啊,读取文件,然后十六进制输出不就好了嘛
-
这是什么写法???? 退一步说,如果其他地方没有这个变量,是你在中断函数中定义的,这玩意儿定义的时候没赋初值,鬼知道初始值是什么玩意儿,一上来就直接加,指不定就溢出了呢。所以看起来的现象就是一开始就有值。:Sweat:
-
铛铛铛挡 发表于 2016-9-10 10:48
如果是这样,照理说
P3=0X08; //0000 1000 P3.3(INT1)赋1,以接受第4排按键触发信号(下降沿触 ...
请看另一个回复啊
-
铛铛铛挡 发表于 2016-9-10 09:36
在一句一句的检查之后,我发现问题出在
P3=0X08; //0000 1000 P3.3(INT1)赋1,以接受第4 ...
这跟INT0没关系,应该是一直为低,达不到产生下降沿的条件! 你不信吧P3挨着赋值:0x01,0x02,0x04,0x08,估计多半有一个是对的
-
SBUF=date; //将date的值赋给发送缓存区,等待发送完毕
你勾选hex 显示,应该是有值的,只是这个值是数组的地址而已,而不是你想要的数组元素
-
从没想过在大城市一直漂下去啊,先漂个几年,然后果断回老家那边的城市嘛! :lol
-
你想表达什么?
-
sizeof (SplashHeader):计算结构体SplashHeader占用多少个字节空间
(uint08 *)&SplashHeader:&SplashHeader表示取这个结构体的地址,(uint08 *)表示将这个地址强制转换成uint08 *指针类型的
-
苦逼地坐在办公室+1 !:Sad:
-
北夷蛮荒 发表于 2015-8-13 21:31
你会的话你来教我也行
这玩意儿目前只能当做兴趣爱好,别耽误学习了哦!
-
{:1_99:} 要不要这么夸张? 还在上小学? 我也是醉了哦!!!
-
非要CCD的么? CMOS 可不可以嘛?
-
中断就是打断正常的执行程序,转而去执行中断服务子程序,执行完后再转回来执行被打断的程序。
-
首先,你得有个文件存取的平台,SD卡之类的,然后与单片机进行通信,然后进行文件的读取! :lol:lol
-
深蓝恋风 发表于 2015-6-17 11:28
在PC机上试验了一下,下面贴出代码:
那个首地址是试验出来的,乱写一个地址的话容易崩溃,我是定义 ...
我只试验了每个用户的前3个值的存储,感兴趣的可以继续验证后面数据的存储是否正确哦! :loveliness:
-
下面是文字代码,各位看官可亲自验证一手!
#include
#include
/*存储起始地址定义*/
#define StartAddr 0x12F000
/*用户总数定义*/
#define UserCnt 4
#define TestId 3 /*范围0 ~~ UserCnt - 1*/
/*用户数据结构体定义*/
typedef struct
{
char x_flag;
int account;
short test_flag;
short date;
double rate;
char rec[20];
double last[11];
}USERDATA;
USERDATA UserData[UserCnt];
/*指向结构体指针定义*/
USERDATA *p_UserData[UserCnt];
void Init(void)
{
unsigned char i = 0;
/*初始化结构体指针*/
for(i = 0;i < UserCnt;i++)
{
p_UserData[i] = &UserData[i];
}
/*随便给某一个用户结构体前3个变量赋值以便在主函数中用来测试读写是否正确*/
p_UserData[TestId]->x_flag = 11;
p_UserData[TestId]->account = 22;
p_UserData[TestId]->test_flag = 33;
}
/*写用户数据操作*/
void WriteUserData(unsigned char UserId)
{
unsigned short ucLen = 0;
unsigned char i = 0;
/*求结构体长度*/
ucLen = sizeof(USERDATA);
memcpy((unsigned char *)(StartAddr + UserId * ucLen),p_UserData[UserId],ucLen);
}
/*读用户数据操作*/
void ReadUserData(unsigned char UserId)
{
unsigned short ucLen = 0;
unsigned char i = 0;
/*求结构体长度*/
ucLen = sizeof(USERDATA);
memcpy(p_UserData[UserId],(unsigned char *)(StartAddr + UserId * ucLen),ucLen);
printf("\r\n %d--%d--%d\n",p_UserData[UserId]->x_flag,p_UserData[UserId]->account,
p_UserData[UserId]->test_flag);
}
/*主函数*/
void main(void)
{
Init();
WriteUserData(TestId);
ReadUserData(TestId);
}
:lol:lol
-
在PC机上试验了一下,下面贴出代码:
那个首地址是试验出来的,乱写一个地址的话容易崩溃,我是定义了一个足够大的数组,
然后读取这个数组的首地址,将首地址打印出来,用来确定PC上可读写地址的地址段。
试验结果表明存储的数据和读取打印出来的数据一致,初始化的时候存的是11,22,33三个值,贴出打印信息:
-
okhxyyo 发表于 2015-6-15 16:35
还有这么个书店???去看看去~~~
有的哦,还可以找到很多绝版的书,虽然大多是盗版,但是内容相同就行了嘛,关键是印刷还将就!
-
wsnsyy 发表于 2015-6-13 16:05
在哪裡找到的啊,我也想弄一本學習
孔夫子旧书网,只能买盗版的新书了! 印刷还可以!
-
我去,同病相怜嘛,哥们儿! 我因为要离职的关系,这几天一直在忙着交接工作,各种麻烦各种忙,自己做的一点儿小东西的代码也要写,然后我报了一个嵌入式的培训班准备入个门儿,月底开课。意味着下半年得脱产! 我的坐骑是个小摩托,属于无牌无证的黑户,不能进城,但是上课在市中心。所以准备换个电马儿,又是一堆钱钱没了。然后昨天晚上我手机居然也洗白了! 刷机到3点多都没拯救回来,今天只有重新换了! 早已弹尽粮绝! :Cry::Cry: