标题: 求大佬告知,stc单片机eeprom初始值设置参数问题 [打印本页]

作者: shijie240    时间: 2020-6-28 17:00
标题: 求大佬告知,stc单片机eeprom初始值设置参数问题
stc单片机烧录程序时eeprom设置默认 485通讯地址,通讯波特率,可以通过指令修改通讯地址和波特率数值,现在遇到问题是不会设置eeprom中参数默认值
作者: wulin    时间: 2020-6-28 17:00
STC没有用过的空白单片机EEPROM初始值0xff,如旧芯片下载选项中选EEPROM填充ff烧写芯片。初次上电,读取某一个或连续一串特定EEPROM地址是否0xff,如果是0xff即判断初次上电,擦除此扇区,在此地址写入特定数据作标识,其它地址可以写初始数据。再次上电时就以此标识作为判断依据
作者: SKYLAR123    时间: 2020-6-28 17:37
STC是什么型号,eeprom是什么设置,最简单的你定义一个数值,写入EEPROM,再读出看看有问题吗,没有问题再仔细看自己的 485通讯地址,通讯波特率是不是设置看看有问题
作者: shijie240    时间: 2020-6-28 17:47
SKYLAR123 发表于 2020-6-28 17:37
STC是什么型号,eeprom是什么设置,最简单的你定义一个数值,写入EEPROM,再读出看看有问题吗,没有问题再 ...

我是要通过485协议指令来设置波特率和地址,不是程序中设置
作者: wulin    时间: 2020-6-28 20:51
stc单片机烧录程序时无法对内置eeprom写入数据,只能在程序中编写初次上电时写入初始数据的相关语句。空白eeprom寄存器都是0xff。
作者: shijie240    时间: 2020-6-28 22:26
本帖最后由 shijie240 于 2020-6-28 22:38 编辑
wulin 发表于 2020-6-28 20:51
stc单片机烧录程序时无法对内置eeprom写入数据,只能在程序中编写初次上电时写入初始数据的相关语句。空白e ...

谢谢师傅,单片机上电是不是只要判断读取存储值是否为0xff,然后进行相关的存储读取操作
作者: shijie240    时间: 2020-6-29 08:13
wulin 发表于 2020-6-29 07:46
STC没有用过的空白单片机EEPROM初始值0xff,如旧芯片下载选项中选EEPROM填充ff烧写芯片。初次上电,读取某 ...

茅塞顿开,谢谢师傅
作者: shijie240    时间: 2020-6-29 08:50
wulin 发表于 2020-6-28 17:00
STC没有用过的空白单片机EEPROM初始值0xff,如旧芯片下载选项中选EEPROM填充ff烧写芯片。初次上电,读取某 ...

师傅,打扰了!再咨询一个问题    单片机检测温度>30°报警,拉低某一个io口电平,单片机检测报警数据电平拉低时间延长一段时间怎么做
作者: wulin    时间: 2020-6-29 11:22
shijie240 发表于 2020-6-29 08:50
师傅,打扰了!再咨询一个问题    单片机检测温度>30°报警,拉低某一个io口电平,单片机检测报警数据电 ...

void Alarm()//延时报警
{
        static unsigned int i=0;//延时计数变量
        if(temperature>x)//x=预设报警温度值
        {
                i++;
                if(i>=50000)//延时时间
                {
                        i=50000;//复防止溢出
                        Buzzer=0;//响铃
                }
        }
        else
        {
                i=0;//清0
                Buzzer=1;//复位
        }
}

作者: shijie240    时间: 2020-6-29 13:02
wulin 发表于 2020-6-29 11:22
void Alarm()//延时报警
{
        static unsigned int i=0;//延时计数变量

可能是我描述不清楚,检测到报警信号,拉低io口持续一段时间,定时器可以做延迟时间吗?
作者: wulin    时间: 2020-6-29 13:16
shijie240 发表于 2020-6-29 13:02
可能是我描述不清楚,检测到报警信号,拉低io口持续一段时间,定时器可以做延迟时间吗?

定时器当然可以做延时。检测到报警信号给一个变量赋值,启动定时器在定时器中断中这个变量递减,减到0报警,关定时器。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1