Chinaunix首页 | 论坛 | 博客
  • 博客访问: 444619
  • 博文数量: 72
  • 博客积分: 3186
  • 博客等级: 中校
  • 技术积分: 1039
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-07 16:53
文章分类

全部博文(72)

文章存档

2012年(1)

2011年(5)

2010年(10)

2009年(56)

我的朋友

分类: 嵌入式

2009-11-18 15:24:13

lib_arm/board.c


static int init_baudrate (void)
{
    char tmp[64]; /* long enough for environment variables */
    int i = getenv_r ("baudrate", tmp, sizeof (tmp)); //看是否能是环境变量里找到它

    gd->bd->bi_baudrate = gd->baudrate = (i > 0)
            ? (int) simple_strtoul (tmp, NULL, 10)
            : CONFIG_BAUDRATE; //115200 环境变量里未找到,则直接赋115200


    return (0);
}


这里主要是要取得波特率,把值存入bd_t结构体中,这个结构体保存板子的一些信息。(详见另一篇)

由上面的函数可以看到,获得波特率的值有两种方式

1. 在环境变量里,即 getenv_r ("baudrate", tmp, sizeof (tmp)) 看是否能够找到baudrate
对应项由于上一步env_init实际上是空的函数,所以到目前为止,并无环境变量,所以这里取不到
baudrate对应项的值,返回0

2. 没有取到环境变量,则默认加载宏定义的波特率值 115200
阅读(1096) | 评论(0) | 转发(0) |
0

上一篇:3. env_init

下一篇:5. serial_init

给主人留下些什么吧!~~