主题 : Tiny6410LCD 手写触摸+贪吃蛇+key(ADS1.2工程) 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 34600
精华: 1
发帖: 24
金钱: 170 两
威望: 34 点
贡献值: 1 点
综合积分: 68 分
注册时间: 2010-12-18
最后登录: 2013-08-29
楼主  发表于: 2011-06-21 22:06

 Tiny6410LCD 手写触摸+贪吃蛇+key(ADS1.2工程)

管理提醒: 本帖被 xoom 执行加亮操作(2011-06-26)
ADS1.2工程,Tiny6410LCD 手写触摸+贪吃蛇+key,程序烧写到内存中运行(烧flash有文件大小限制),即选菜单中的‘D’,烧写最好用“superboot-20110527.bin”,一定要顶哦

顺便问个问题,我的电脑装不了RVDS2.2和RVDS4.0,会报错,网上有说是因为我的是AMD的CPU,不兼容,有高手能帮忙解决的吗?
[ 此帖被342057886在2011-06-21 22:32重新编辑 ]
描述:ADS1.2工程
附件: Tiny6410_LCDTEST.rar (757 K) 下载次数:1224
级别: 新手上路
UID: 51229
精华: 0
发帖: 7
金钱: 35 两
威望: 7 点
贡献值: 0 点
综合积分: 14 分
注册时间: 2011-06-30
最后登录: 2011-07-27
1楼  发表于: 2011-07-07 16:25
static int OneWireSession(unsigned char req, unsigned char res[])
{
    unsigned Req;
    unsigned *Res;
    unsigned int i;
    Req = (req << 24) | (crc8(req << 24, 8) << 16);
    Res = (unsigned *)res;
    set_pin_value(1);
    set_pin_as_output();
    StartTimer();
    for (i = 0; i < 60; i++) {
        WaitTimerTick();
    }
    set_pin_value(0);
    for (i = 0; i < 2; i++) {
        WaitTimerTick();
    }
    for (i = 0; i < 16; i++) {
        int v = !!(Req & (1U << 31));
        Req <<= 1;
        set_pin_value(v);
        WaitTimerTick();
    }
    WaitTimerTick();
    set_pin_as_input();
    WaitTimerTick();
    for (i = 0; i < 32; i++) {
        (*Res) <<= 1;
        (*Res) |= get_pin_value();
        WaitTimerTick();
    }
    StopTimer();
    set_pin_value(1);
    set_pin_as_output();
    return crc8(*Res, 24) == res[0];
}

这里面的东西不明白,谁能跟我讲一讲?谢谢!