第一次用PIC16F873A,想用PICC自带的“EEPROM_WRITE(0,1);”写EEPROM,PICC编译通过,但调试时发现程序卡在这一句了,以至于看门狗复位。把这一句去掉程序就正常。“EEPROM_READ(addr);”读出也正常。去掉别的程序,只进行读写EEPROM时也是能读不能写。“EEPROM_WRITE(address,value)”后面加了较长的延时也不行。换了三个新片子都是这样。
我猜了一下原因:1,我的PICC没破_解完全,不支持这个芯片。2,PICC16F873A不支持这一句。3,PIC16F873A的片内EEPROM地址并非通常的“0,1,2,...”
到底是什么原因?或者有什么EEPROM使能的寄存器需要开?还请高手指点。。。先谢过。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
-----------------------------------------------------------------------
多谢帮助,问题已解决,结贴。原因是EEPROM_WRITE的内部一个宏定义和我程序的显示驱动中的一个冲突了,改掉就好了。这么个小问题调的这两天我眼睛都青了。独自在省城一家小公司里,身边没有一个朋友,住着公司宿舍,拿着不到2k的月薪望着房价兴叹,公司里就我一个电子的,任务都在我这里不说,有了问题连个讨论的人都没有,真不容易呀。。。
回复【1楼】cwl0580
-----------------------------------------------------------------------
多谢帮助,问题已解决,结贴。原因是eeprom_write的内部一个宏定义和我程序的显示驱动中的一个冲突了,改掉就好了。这么个小问题调的这两天我眼睛都青了。独自在省城一家小公司里,身边没有一个朋友,住着公司宿舍,拿着不到2k的月薪望着房价兴叹,公司里就我一个电子的,任务都在我这里不说,有了问题连个讨论的人都没有,真不容易呀。。。
-----------------------------------------------------------------------
这位兄弟的情况跟我一模一样,巧了。我也是一个人搞,很孤独的。
一周热门 更多>