注册 登录
查看: 290|回复: 6

[平衡组] CCD程序有个地方不懂

[复制链接]
发表于 2015-1-25 16:33:13 | 显示全部楼层 |阅读模式
//全部CCD的SI管脚输出数据
void tsl1401_si_out(uint8 data)
{
    uint8   i = TSL1401_MAX;

    ASSERT(data < 2);

    while(i--)
    {
        gpio_set(tsl1401_si[i], data);
    }
}
现在我只用一个ccd,
typedef enum
{
    TSL1401_L,      //左
    TSL1401_MAX,
} TSL1401_e;

TSL1401_MAX没有赋值,那他不是1吗?i--之后不就是0了吗,那while(0)不是不执行的吗??谢谢,求解答

回复

使用道具 举报

发表于 2015-1-25 16:34:28 | 显示全部楼层
这个是纯C语言问题啦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-25 16:44:37 | 显示全部楼层
titoqxiakk 发表于 2015-1-25 16:34
这个是纯C语言问题啦

typedef 里面的第一个量的值 我不太敢确定额
回复 支持 反对

使用道具 举报

发表于 2015-1-25 17:03:15 | 显示全部楼层
先执行while语句,i再自减一。
回复 支持 反对

使用道具 举报

发表于 2015-1-25 17:30:08 | 显示全部楼层
彭意达 发表于 2015-1-25 16:44
typedef 里面的第一个量的值 我不太敢确定额

TSL1401_MAX 就是等于1,山外的书,开头有讲解的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-25 18:55:03 | 显示全部楼层
benpao 发表于 2015-1-25 17:03
先执行while语句,i再自减一。

对喔。。。谢谢,忘了
回复 支持 反对

使用道具 举报

发表于 2015-1-26 17:51:53 | 显示全部楼层
pqcoezpsiu 发表于 2015-1-25 17:30
TSL1401_MAX 就是等于1,山外的书,开头有讲解的

你也买了山外哥的书了么?书里没有关于CCD的讲解啊?为什么[size=13.333333969116211px]TSL1401_MAX 就是等于1?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部