关于STC单片机的内存管理
因为近期项目比较多,导致好久没有写博客了,所以趁着今天有空,抽出时间将近阶段研发过程中遇到的问题做一个分析和总结
问题一、485通讯板上485发热问题;
近期因为配合水产养殖需要,做了一块多个485通讯的集成采集板,利用4052和4051的开关功能实现一个串口复用成多个串口。但是板子做出来后,上面的485芯片莫名有些发热,经过查找后发现是485芯片不能长期处在发送过程中,否则会导致芯片发热。
问题二:将程序烧录到STC单片机中,单片机上电经过几分钟程序才运行的问题。
这个问题真的查找了我很久,最后发现,是单片机的内存管理问题导致,编写程序时,原则上应该将一些比较快速用到的变量应该定义为 “data”型,以便在数内部直接访问RAM区能快速反应,而对于一些数组类型的变量,应该定义为“xdata”型,以仿超出内部直接访问RAM范围。