简介这里用的单片机为ES7P7021采用8位RISC内核2KB的FLASH128bit的RAM。编译器使用东软提供的iDesigner开发过程中编译器和单片机有一些地方使用时一些常见问题需要注意下。1.RAMclear()函数这个函数是用来清除RAM内存数据调用这个函数时需要在这个函数后进行全局变量的初始化在全局变量的定义处初始化是没作用的因为初始化之后运行了这个函数就清除了RAM中所有变量数据所以即使全局变量初始化了数值数据还是0。正确操作如下RAMclear();ParaInit();/****************************************************** 函数名void RAMclear(void) 描 述RAM区数据清零RAM区地址0x0000~0x03FF *******************************************************/ void RAMclear(void) { for (IAAH 0; IAAH 0x03; IAAH) { for (IAAL 0; IAAL 0xFF; IAAL) IAD 0x00; IAD 0x00; } }void ParaInit(void) { g_su8ReadDatSta 0; stuBatDat.m_u16BatSoc 6; }2.外部中断配置问题先看下面外部中断配置程序这里配置了两个外部中断都是配置为上升沿唤醒。我第一次配置是用的屏蔽的代码配置两个外部中断单独配置的实际测试发现只能唤醒其中一个经过研究规格书才发现 如果有两个外部中断触发配置时需注意不能单独配置单独配置会导致有一个中断脚配置不成功无法使用需采用位操作一起配置。也不能先配置一个再或配置另一个原因如下图3.工具链选择问题当编译器报下面错误时这个问题是表示工具链不对需要重新选择下工具链当前最新的是HRCC V1.2.0.145选择后无报错。设置工具链如下图所示4.仿真异常当仿真的时候出现仿真异常无法DEBUG的现象吗这个问题一般是配置字中烧录引脚不对需要重新选择下选择对应的脚就可以仿真了。烧录引脚选择如下图所示5.总结整个开发过程中东软的MCU开发起来不难但是总会遇到一些小问题也很快就能解决使用时需要注意下即可。重要的是对编译器要了解调用外设按照提供的外设例程调用当遇到奇怪问题时不要慌先检查一遍代码再认真看看规格书问题很快就能迎刃而解。