PIC16F877A写内部E2PROM时必须关闭全局中断吗?

[复制链接]
4643|13
 楼主| qianlong30 发表于 2008-3-28 21:04 | 显示全部楼层 |阅读模式
看到&lt&ltPIC单片机原理&gt&gt书上说,些内部E2PROM时关闭全局中断,<br />我单片机串口不定时地接收数据,所以接收用的中断,程序还要写E2PROM,如果写E2PROM必须要关闭中断,那接收可能会不正常.是必须要关闭吗?
 楼主| qianlong30 发表于 2008-3-28 21:08 | 显示全部楼层

还一问题

我要在E2PROM预存一参数表.这些数值怎样烧进去?我用的润飞2148编程器,没有写单片机内部E2PROM的选项,是否就是应用编程器烧写进去?<br />(不是程序中的写E2PROM)
 楼主| qianlong30 发表于 2008-3-28 21:25 | 显示全部楼层

第二个问题知道了.编程器中有专门烧写内部E2P的选项.

  
兰天白云 发表于 2008-3-28 22:16 | 显示全部楼层

发送指令序列时关中断

  
yewuyi 发表于 2008-3-29 08:33 | 显示全部楼层

简单示例

zgl7903 发表于 2008-3-29 13:31 | 显示全部楼层

GIE关闭之前最好先保存GIE的状态,用完之后恢复

不要轻易的GIE=1,否则容易造成不必要的问题<br />
yewuyi 发表于 2008-3-29 15:04 | 显示全部楼层

LS,GIE=1有什么问题?

  
xieyuanbin 发表于 2008-3-29 21:12 | 显示全部楼层

GIE本来没开,这下你自己开了,不是找事嘛

有很多时候并不需要开GIE
 楼主| qianlong30 发表于 2008-3-29 21:29 | 显示全部楼层

我的主机接收数据是不定时的.

主机随即都处于接收状态.所以我的总中断和接收中断一直打开,我不想关闭接收中断.<br />如果我不关总中断和接收中断,那么写E2PROM会出现什么情况?<br /><br /><br />
lifengtao 发表于 2008-3-29 22:11 | 显示全部楼层

我说两句~呵呵

我刚看了看书,在写的时候确实要关闭中断(全局),但读的时候不用关。<br />其实你的顾虑有些多了,书上说写EE最长也就8us,PIC的接收模块能一次接2个字节呢,足够你写一个数了。你就放心的写吧。<br />还有不要用877A了,用887吧,便宜~~呵呵o(∩_∩)o...
xieyuanbin 发表于 2008-3-30 09:22 | 显示全部楼层

楼上大意不错.

写EE的整个过程大概在5mS左右,但在写EE的操作中,需要关闭中断的过程也就几个微妙,就是写0X55和0XAA到EECON2,之后启动写操作那一段,串口此时最多传送一位,所以不会错过你的串口中断.<br />另外877A便宜一些,楼上说反了.
yewuyi 发表于 2008-3-30 14:57 | 显示全部楼层

我还以为GIE=1有什么问题呢,原来是~~

呵呵,系统调度器的定时中断必须是始终打开的,所以,对于我来说,GIE=0在写EE的时候短暂关掉后必须马上打开,否则倒真有问题了~~<br /><br /><br />呵呵,如果不是为了写EEPROM,在发生中断之外,GIE永远都是等于1的~~
neaphy 发表于 2008-4-1 20:03 | 显示全部楼层

我没关哦

我一般都不关的<br />写完了读,比较一下,不对再写,如此循环<br />没发现啥问题,中断很频繁
today_lucky 发表于 2012-3-16 14:53 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

150

主题

353

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部