本帖最后由 FSL_TICS_ZJJ 于 2014-10-21 14:41 编辑
大家如果在调试KL25第10版sample code代码的BME工程时,发现打印出的结果显示BME代码确没有普通C代码跑的快,请不要惊慌,本文教您如何解决!
由于第10版SC中BME.h 头文件写的比较冗余,不利于体现BME的优势,先将头文件做如下改写:
这里以BME_AND_W 函数为例。
原描写方式为:
- _BME_INLINE void BME_AND_W (volatile uint32_t *addr, register uint32_t wdata)
- {
- *(volatile uint32_t*)((uint32_t)addr | BME_AND_MASK) = wdata;
- }
现在修改为宏定义的方式:
- #define BME_AND_W(addr, wdata) \
- *(volatile uint32_t*)((uint32_t)addr | BME_AND_MASK) = wdata;
最终的打印结果显示为:
结果体现了使用BME模块的优势。
附件为修改后的BME.h,需要的网友可以下载下来将代码包中的头文件直接替换即可。
BME.rar
(1.44 KB, 下载次数: 8)
|