项目使用stm8l051f3做主控,CC2500做数据接收,不发送. 跑飞的现象就是,刚开始能运行,经过一段未知长度的时间,有可能是3分钟,有可能是30分钟,指示灯不再闪烁,中断按键单片机无反应. 接入调试器发现跑到了一个非常大的地址,已经超过了mcu的内部flash空间.可以确定是程序跑飞. 经验是: 程序跑飞,查条件语句是否都有做处理. 程序跑飞,查内存溢出. 查了好久,查出是内存溢出导致. 因为发送端发送的数据固定是32字节,所以在接收端只开辟了一个32字节的buffer去读取收到的数据.…