主要用到MSP430FG479的SD16、uart、TimerA、flash读写、IIC、DAC、SVS、看门狗、输出VREF、IO控制,3.3V供电,外接32768Hz晶振。实现的功能就是SD16测量得到数据;利用485通信上报测得的数据;有一些数值会存在flash中,上电会读取该参数,后期也可以写入;IO口和DAC控制电机转动。
使用一段时间后发现无法通信了,于是用FET读单片机的Flash Memory Data,读出的txt文件在附件中,记为“乱代码”。对比“原代码”,发现有的字节变了,导致程序不能正常运行,还有一次是一小段代码不见了。
可以肯定的是单片机的程序没有去重新下载过,就是有时候会上电一段时间后断电。
附件是单片机一些功能的配置情况,还有出现过3次代码乱了的Flash Memory Data,及其对应的原代码。
希望大神们能够帮我解决这个问题!
灰小子:
看你的乱代码,非常像是程序跑飞到某些代码段执行的擦除和写操作。
另外,你的应用环境是怎么样的?干扰严重吗?
485电路和msp430之间隔离了吗?
LING dai:
回复 灰小子:
UART_RX、UART_TX接到单片机UCA0RXD、UCA0TXD,T_R_Control接到单片机P2.6,485_B、485_A则通过线缆接出去。
有两次是在办公室遇到的,PCBA下载好程序之后放到一边,过两天再拿来测试,然后就发现不通信了。有一次是在客户那边遇到的。