[牛人杂谈] 使用NUC220系列芯片发现新唐自带的头文件的一个错误

[复制链接]
 楼主| cxx26 发表于 2014-8-28 11:22 | 显示全部楼层 |阅读模式
在使用NUC220的芯片的时候,用到了“NUC200Series.h”这个官方的文件,然后程序在调用UNLOCKREG()这个函数的时候编译出错,找了一下才发现是“NUC200Series.h”这个文件的6206行关于这个函数的定义出现语法错误,原文件里是
#define UNLOCKREG(x)        do{*((__IO uint32_t *)(GCR_BASE + 0x100)) = 0x59;*((__IO uint32_t *)(GCR_BASE + 0x100)) = 0x16;*((__IO uint32_t *)(GCR_BASE + 0x100)) = 0x88}while(*((__IO uint32_t *)(GCR_BASE + 0x100))==0)
在循环执行的最后一个语句没有加";",没想到官方提供的资料也能出现这样的错误。。。。以前用Microchip的芯片从没遇到过。。。
gaoyang9992006 发表于 2014-8-28 12:33 | 显示全部楼层
哈哈,你这么有才,这都被你发现了。人才啊。
骗子的片子 发表于 2014-8-28 12:49 来自手机 | 显示全部楼层
gaoyang9992006 发表于 2014-8-28 12:33
哈哈,你这么有才,这都被你发现了。人才啊。

人才啊,你也是个人才
骗子的片子 发表于 2014-8-28 12:49 来自手机 | 显示全部楼层
官方也可能会有错误,有错误就要改
排山倒海 发表于 2014-8-28 12:57 | 显示全部楼层
定义代码功能的宏定义define 一般是不带分号的,在使用时加分号,《C和指针》和《C语言程序设计现代方法第2版》都是这样的风格的。
haolaishi 发表于 2014-8-28 14:50 | 显示全部楼层
很是怀疑,我下载官方的看看
haolaishi 发表于 2014-8-28 15:13 | 显示全部楼层
果然是没有。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部