打印
[技术问答]

为什么说明文档里都有错

[复制链接]
1914|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我现在在做定时器的实验,根据下面这两个文档中的说明:《玩转新唐M0_M4_V1.04》、《05_NuEdu-M451_Timer》,定时器的初始化为下面的代码:
CLK_EnableModuleClock(TMR0_MODULE);
CLK_SetModuleClock(TMR0_MODULE, CLK_CLKSEL1_TMR0_S_HXT, 0);
但是,在KEIL中,CLK_CLKSEL1_TMR0_S_HXT 是错误的,定时器初始化正确的是什么,这个文档里其它模块的代码还有没有错,为什么不能弄一个没有错误的呢?



沙发
yutianxiang618| | 2016-1-10 11:00 | 只看该作者
先不说是不是错的,那美国发射卫星和航天飞船失败爆炸了,他这个nb的机构怎么就不能弄一个没有错误的出来发射呢?

使用特权

评论回复
板凳
motor666|  楼主 | 2016-1-10 11:15 | 只看该作者
我管不了美国航天飞机是不是爆炸,也管不了动车是不是脱轨,我只看程序代码是不是能编译,美国没能把航天飞机做好,并不代表我们就不可能把代码编正确。

使用特权

评论回复
地板
john_lee| | 2016-1-10 14:31 | 只看该作者
你要明白一个道理:电子产品是比较复杂的装置,它是人做的,总有出错的可能。
出错的环节太多了。硬件上从IC到PCB,软件上从Toolchain(开发工具)到BSP到用户程序都可能存在错误。
你可以看到IC有Errata,Toolchain有Changelog,BSP也有Revision history。
你敢保证卖给用户的板子和程序没有任何错误?如果你不敢保证,那么别人也不敢,何况这些环节上的材料和工具,提供商都有免责声明,你要用它,就意味着你承认了这个事实。

使用特权

评论回复
5
Messi1999| | 2016-1-10 15:48 | 只看该作者
想知道定时器中断的优先级和systick的优先级谁的高啊

使用特权

评论回复
6
仙女山| | 2016-1-10 16:35 | 只看该作者
你为啥觉得是错的呢,有啥理由呢,想听听

使用特权

评论回复
7
yutianxiang618| | 2016-1-10 20:25 | 只看该作者
即使真有错误不是很正常吗,哪个人哪个机构敢说他的东西没错误,那你如果发现有错误可以给他们说,下次这个文档错误点就少了,这部分就正确了,当然你也没有这个责任和义务,也可以不说,
1楼你问为什么不能弄一个没有错误的呢,我的回答是:不可能。
没有哪个敢说老子的东西全部正确,没得错,就是这么叼。

使用特权

评论回复
8
_寒寒_| | 2016-1-11 08:41 | 只看该作者
Messi1999 发表于 2016-1-10 15:48
想知道定时器中断的优先级和systick的优先级谁的高啊

通常systick优先级被设置为最低

使用特权

评论回复
9
_寒寒_| | 2016-1-11 08:41 | 只看该作者
是不是那个头文件没有包含了?

使用特权

评论回复
10
mwang| | 2016-1-11 09:20 | 只看该作者
这两句话没问题啊
楼主最好给一下keil报错的信息,还有你的工程信息,方便大家帮忙分析

使用特权

评论回复
11
motor666|  楼主 | 2016-1-11 09:38 | 只看该作者
本帖最后由 motor666 于 2016-1-11 09:40 编辑

我是直接解压M451SeriesBSP_CMSIS的,得到BSP Library\M451SeriesBSP_v3.01.001\NuTiny-SDK-M451文件夹,直接打开LED的项目,下载程序LED闪烁正常,于是想在项目里增加定时器功能,写了这几句:
int Timer_Init(void)
{
        CLK_EnableModuleClock(TMR0_MODULE);
        CLK_SetModuleClock(TMR0_MODULE, CLK_CLKSEL1_TMR0_S_HXT, 0);
}
也许是我哪里错了,还没编译就已经报错了。



错误信息.png (28.85 KB )

错误信息.png

使用特权

评论回复
12
motor666|  楼主 | 2016-1-11 09:44 | 只看该作者
12月8号北京研讨会上领的板,现在正好有空,想试试,看看新唐的有什么特点。

使用特权

评论回复
13
mwang| | 2016-1-11 09:49 | 只看该作者
motor666 发表于 2016-1-11 09:38
我是直接解压M451SeriesBSP_CMSIS的,得到BSP Library\M451SeriesBSP_v3.01.001\NuTiny-SDK-M451文件夹,直 ...

玩转M0、M4的文档前面一些IP是按照Nano来写的,所以
CLK_SetModuleClock(TMR0_MODULE, CLK_CLKSEL1_TMR0_S_HXT, 0);
是没问题的
而M451里参照
.\BSP\M451\SampleCode\StdDriver\TIMER_Delay下的写法
CLK_SetModuleClock(TMR0_MODULE, CLK_CLKSEL1_TMR0SEL_HXT, 0);
是正确的
你另一个帖子里问的GPIO的问题,也是因为不同芯片下BSP的参数不一样而引起的。

使用特权

评论回复
14
motor666|  楼主 | 2016-1-11 09:58 | 只看该作者
刚才试了一下,现在没有问题了,如果没有mwang的指点,以后还会出错,这样才是解决问题得方法,那种根本没去思考上来就说,即使有错也很正常,不知道能解决什么问题。

使用特权

评论回复
15
yklstudent| | 2016-1-11 10:16 | 只看该作者
楼主就是老抱怨下,希望有人帮楼主解决问题而已;
估计没人指出问题,楼主还会继续

使用特权

评论回复
16
motor666|  楼主 | 2016-1-11 12:18 | 只看该作者
当然会继续,不会就要问,难道不应该吗?
每种单片机入门的时候都会有个门槛,不在这里寻求帮助能去哪里呢?
这里就是解决问题得地方,如果你知道,就回答,不回答也没人说你什么,除了解决技术问题得回复,其它都是废话。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

173

主题

419

帖子

1

粉丝