关于system_LPC11xx.c文件的一点疑问

2019-03-25 20:45发布

读system_LPC11xx.c,发现点问题,求教高手
代码447-449行
#if (MEMMAP_SETUP || MEMMAP_INIT)       /* Memory Mapping Setup               */
  LPC_SYSCON->SYSMEMREMAP = SYSMEMREMAP_Val;
#endif
问题:
       MEMMAP_INIT没找到在哪里定义的,编译时也没发现问题,奇怪了。。。。哪位能答疑?感谢!!!
增加一个问题,代码321-324行
  switch ((LPC_SYSCON->WDTOSCCTRL >> 5) & 0x0F) {
    case 0:  wdt_osc =  400000; break;
    case 1:  wdt_osc =  500000; break;
    case 2:  wdt_osc =  800000; break;
    后面省略。。。
问题:WDTOSCCTRL寄存器中关于fclkana部分默认是0x05即1.6M,没有0选项(未见定义),当然这个寄存器是可读可写的,问题是写成0有什么意义?强制设成0.4M? [ 本帖最后由 evenaye 于 2010-7-6 18:42 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
wangkj
1楼-- · 2019-03-26 01:59
_NXP LPC1000_ 或者linux的grep
当然,用soure insight或者利索脚更好。
evenaye
2楼-- · 2019-03-26 05:29
原帖由 wangkj 于 2010-7-7 09:17 发表 或者linux的grep 当然,用soure insight或者利索脚更好。

没找到,所以很奇怪,所有文件:key_beep.c(一个例程)、core_cm0.c、LPC11xx.h、System_LPC11xx.c、System_LPC11xx.h、core_cm0.h、stdint.h、startup_LPC11xx.s
zhdphao
3楼-- · 2019-03-26 06:25
 精彩回答 2  元偷偷看……
evenaye
4楼-- · 2019-03-26 11:55
原帖由 zhdphao 于 2010-7-7 11:27 发表 如果确实找不到也不奇怪.这个是条件编译的. 如果没有定义这个就不会用到的.你根本不用理他.

感谢!
不过一般来讲,这东西的常规用法应该形如:
#define MEMMAP_INIT  0

#define MEMMAP_INIT  1
高手,另一个问题呢?呵呵
zhdphao
5楼-- · 2019-03-26 12:07
不敢称高手. 第二个不知道.
你研究的这么仔细?
zhdphao
6楼-- · 2019-03-26 16:05
说明书里讲:FREQSEL位的任何设置所产生的Fclkana,其值与所列的频率值都会存在±40%的误差。

说明WDTOSCCTRL给出的是大约值, 所以0选项时看门狗振荡器的频率大约在400000。

一周热门 更多>