[求助]430FR单片机写FRAM锁死
来源:网络整理 网络用户发布,如有版权联系网管删除 2018-07-21
[求助] 430FR单片机写FRAM锁死
[复制链接]
MSP430FR系列单片机,写了个小程序,写入了几个数据到FRAM,第一次仿真时,读出数据与写入数据一致,然后退出,再次仿真,就找不到硬件了,这是什么问题,哪位路过的大神可以指点一下。
下面是部分程序
#define DATA_DATA_BASE 0XFF80
uchar *FRAM_Byte_ptr,*FRAM_Byte_ptr_bak;
FRAM_Byte_ptr = 0;
FRAM_Byte_ptr_bak = 0;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0xAA;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0xBB;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x30;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x30;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x30;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x31;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x0A;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x0A;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x00;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x46;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x00;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x00;
这种问题一般以线路连接问题居多。
还有个问题,你要看看你这个写入地址是不是在FRAM区间?
点评
yl20084784 发表于 2017-1-20 17:25
这种问题一般以线路连接问题居多。
还有个问题,你要看看你这个写入地址是不是在FRAM区间?
MSP430FR6879单片机,定义的FRAM首地址是#define DATA_DATA_BASE 0XFF80 ,手册上也是这样的,然后我做了一个变量递增,就是程序上面那样做的,做完后就完蛋了
点评
5663 TA的帖子 14 TA的资源

发消息 加好友
感觉指针的用法有问题,把程序区被破坏了
点评
http://www.micropython.org.cn/
dcexpert 发表于 2017-1-20 21:02
感觉指针的用法有问题,把程序区被破坏了
哪里有问题?
点评
5663 TA的帖子 14 TA的资源

发消息 加好友
开始看感觉有问题,仔细想好像是对的。问题可能不在这个地方,如果方便,可以把整个FRAM读取出来进行分析一下。
点评
http://www.micropython.org.cn/
dcexpert 发表于 2017-1-20 21:38
开始看感觉有问题,仔细想好像是对的。问题可能不在这个地方,如果方便,可以把整个FRAM读取出来进行分析 ...
单片机无法再进入仿真了
点评
669 TA的帖子 1 TA的资源

发消息 加好友
试试BSL下载程序擦除FRAM
点评
具体如何操作,请指教
qq4988 发表于 2017-1-20 18:02
[复制链接]
MSP430FR系列单片机,写了个小程序,写入了几个数据到FRAM,第一次仿真时,读出数据与写入数据一致,然后退出,再次仿真,就找不到硬件了,这是什么问题,哪位路过的大神可以指点一下。
下面是部分程序
#define DATA_DATA_BASE 0XFF80
uchar *FRAM_Byte_ptr,*FRAM_Byte_ptr_bak;
FRAM_Byte_ptr = 0;
FRAM_Byte_ptr_bak = 0;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0xAA;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0xBB;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x30;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x30;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x30;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x31;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x0A;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x0A;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x00;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x46;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x00;
*((FRAM_Byte_ptr++)+DATA_DATA_BASE) = 0x00;
这种问题一般以线路连接问题居多。
还有个问题,你要看看你这个写入地址是不是在FRAM区间?
点评
yl20084784 发表于 2017-1-20 17:25
这种问题一般以线路连接问题居多。
还有个问题,你要看看你这个写入地址是不是在FRAM区间?
MSP430FR6879单片机,定义的FRAM首地址是#define DATA_DATA_BASE 0XFF80 ,手册上也是这样的,然后我做了一个变量递增,就是程序上面那样做的,做完后就完蛋了
点评
5663 TA的帖子 14 TA的资源

发消息 加好友
感觉指针的用法有问题,把程序区被破坏了
点评
http://www.micropython.org.cn/
dcexpert 发表于 2017-1-20 21:02
感觉指针的用法有问题,把程序区被破坏了
哪里有问题?
点评
5663 TA的帖子 14 TA的资源

发消息 加好友
开始看感觉有问题,仔细想好像是对的。问题可能不在这个地方,如果方便,可以把整个FRAM读取出来进行分析一下。
点评
http://www.micropython.org.cn/
dcexpert 发表于 2017-1-20 21:38
开始看感觉有问题,仔细想好像是对的。问题可能不在这个地方,如果方便,可以把整个FRAM读取出来进行分析 ...
单片机无法再进入仿真了
点评
669 TA的帖子 1 TA的资源

发消息 加好友
试试BSL下载程序擦除FRAM
点评
具体如何操作,请指教
qq4988 发表于 2017-1-20 18:02
MSP430FR6879单片机,定义的FRAM首地址是#define DATA_DATA_BASE 0XFF80 ,手册上也是这样的, ...
手册上那一页是这么写的?
0xFF80 这个地址是Interrupt Vector Table and Reset Vector 吧?
The interrupt vector table and the reset vector are located at addresses 0FF80h to 0FFFFh.
Page 306 User's guide
查看评论 回复
"[求助]430FR单片机写FRAM锁死"的相关文章
- 上一篇:avr单片机工作经验总结
- 下一篇:AVR单片机中未用的I/O口设置