问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

单片机内部E2PROM ISP-IAP 技术应用 中 郭天祥 ISP程序中ISP_ADDRL=(unsigned char)(byte_addr&0 怎么理解

发布网友 发布时间:2022-05-26 07:13

我来回答

3个回答

热心网友 时间:2023-10-06 05:24

ISP_ADDRH=(unsigned char)(byte_addr&>>8);
ISP_ADDRL=(unsigned char)(byte_addr&0x00ff);
其中 byte_addr是一个16位地址,他的数据类型是 unsigned int;
ISP_ADDRH和 ISP_ADDRL 是8位的,他们的数据类型是 unsigned char;

byte_addr&>>8: 将 16位的byte_addr的高8位取出放在一个8位的ISP_ADDRH变量中
左移8 位就是高8位变为0x00, 低8 位变成原来的高8位。

byte_addr&0x00ff: 将 16位的byte_addr的低8位取出放在一个8位的ISP_ADDRL变量中

与0x00ff相与表示舍弃高8位,只要低8位。

iSectorAddr=sector_addr&0xfe00; //取扇区地址

这条语句中的0xfe00 应该与你所用单片机的扇区地址定义有关,你查下Datasheet 就知道了。

希望能帮到你。

热心网友 时间:2023-10-06 05:24

简单的stc的eeprom的子程序
我发一个我用的给你
#include "EEPROM.h"
#define offset 0x00 //定义存储地址偏移量
/*----------------------------------
-------要修改的参数:地址偏移量-----
-------触发命令-------------------*/
/*----------Disable ISP-----------*/
void Dis_ISP(void)
{
ISP_CONTR=0x00;
ISP_CMD =0x00;
ISP_TRIG =0x00;
ISP_ADDRH=0x00;
ISP_ADDRL=0x00;
}
/*----------Read E2PROM-----------*/
unsigned char ISP_read(unsigned int addr)
{
ISP_ADDRH=offset+addr/256;
ISP_ADDRL=addr%256;
// EA=0;
ISP_CONTR=0x80; //设置等待时间;40M以下0,20M以下1,10M以下2,5M以下3
ISP_CMD=0x01; //read cmd
ISP_TRIG=0x5a;
ISP_TRIG=0xa5;
_nop_();
if ((ISP_CONTR&0x10)==0x10){ISP_CONTR&=0xef;}
// EA=1;
Dis_ISP();
return ISP_DATA;
}
/*---------WriteE2PROM-----------*/
void ISP_write(unsigned int addr,unsigned char Content)
{
ISP_DATA=Content;
ISP_ADDRH=offset+addr/256;
ISP_ADDRL=addr%256;
// EA=0;
ISP_CONTR=0x80; //设置等待时间
ISP_CMD=0x02; //write cmd
ISP_TRIG=0x5a;
ISP_TRIG=0xa5;
_nop_();
if ((ISP_CONTR&0x10)==0x10){ISP_CONTR&=0xef;}
// EA=1;
Dis_ISP();
}
/*----------ISP_Erase------------*/
void ISP_erase(unsigned char sectorIndex)
{
ISP_ADDRH=offset+sectorIndex*2;
ISP_ADDRL=0x00;
// EA=0;
ISP_CONTR=0x80; //设置等待时间
ISP_CMD=0x03; //erase cmd
ISP_TRIG=0x5a;
ISP_TRIG=0xa5;
_nop_();
if ((ISP_CONTR&0x10)==0x10){ISP_CONTR&=0xef;}
// EA=1;
Dis_ISP();
}

热心网友 时间:2023-10-06 05:25

没看明白
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
请问哪位大哥“谨谢不敏”是什么意思? 小女子尽谢不敏什么意思 谨谢不敏是什么意思? 敬谢不敏是是什么意思? 谢不敏的意思是什么 谢不敏词语解释 什么叫“谢不敏”? 6岁儿童晚上睡眠不好怎么办 六岁孩子精神异常怎么办 小程序开发需要什么技术 没有技术如何开发小程序 steam的星际战甲叫什么名字 开具国税发票需要提供付款证明怎么写 如何申诉找回 怎么申述回来 付款证明怎么写? FHD ISP屏1930*1080分辨率和45%色域ISP哪个好 各位大佬,有谁知道周润发主演<监狱风云2>里面老跟着傻标那个演员的名字?跪求!跪求!跪求! 监狱风云是谁拍的? 监狱风云的演员表 推荐海蜘蛛ISP哪个好用,我需要免费的,麻烦提供下载地址和教材! 液晶电视led屏isp硬屏那个好?详细分析 腊八蒜的功效与作用 液晶电视isp硬屏真的那么好么 屏幕材质TFT和ISP哪个更好?内核型号呢,是高通 骁龙吗? 电脑有流氓软件? 液晶ISP有什么好的地方 怎么看游戏版本? ps5怎么查游戏版本 全民k歌里的内存太多了,怎样删掉 有哪些单机游戏在追查版权? 要详细点的。。。 如何用ISP给LPC2132下载程序 了,除了加湿器还有什么办法能增加湿 最近天气很干燥,除了用加湿器以外还有什么方法能加湿? 除用加湿器外还有什么办法对室内空气加湿 新生儿20天肚脐未脱落怎么回事?都这么久了还没脱落,这是正常的吗? 不知道各位有什么好的办法让房间增加湿度,除了放盆水和用加湿器外。 家有小学生,需要买个步步高点读机吗 家里没有加湿器,怎样才能加湿呢? 步步高点读机怎么样??好像只是适用于中小学的学生,有必要买吗?? 有必要买步步高点读机吗 婴儿20天了,肚脐还没掉,怎么办 购买步步高点读机 好吗 步步高点读机,小朋友想买,好不好呢? 三年级的小学生有没有必要买步步高点读机?谢谢! 你好,我想买步步高点读机但是不知道选哪款好,希望你可以推荐下,另外点读机需要联网升级教材之类的吗? 孩子两岁两个月,买步步高点读机用处大吗,促销员说,可以提高孩子的学习兴趣,该不该买 花699买台步步高点读机算好吗? 芳村龙溪哪里有配眼镜的 孩子今年入小学,有没有必要给孩子买步步高点读机 我有一个驾驶证是C1本,想增驾为C1D1本,我该如何办理?在C1的基础上加个D本容易吗?