shirely_ivy 发表于 2006-8-5 19:59:49

请教一下,CodeVision中有关1 Wire Protocol Functions的问题

我在mega16中要用1 Wire功能,但同时要求要能切换单总线,我的子程序是这样编写的,但编译的时候会出错,说是invalid redefinition of _w1_port;这个问题该如何解决啊,各位高手,你们是如何解决单总线问题的,望指点一下!

voidchoose_road( uchar road )

{

            

switch(road)

{ case 0:

         #asm

            .equ __w1_port=0x18;PORTB0

            .equ __w1_bit=0

         #endasm

             test_bit0=0;

             break;

    case 1:

            #asm

            .equ __w1_port=0x18;PORTB1

            .equ __w1_bit=1

             #endasm

            test_bit0=1;   

            break;   

    case 2:

            #asm

            .equ __w1_port=0x18;PORTB2

            .equ __w1_bit=2   

             #endasm

             test_bit0=2;

             break;

    case 3:

            #asm

            .equ __w1_port=0x18;PORTB3

            .equ __w1_bit=3

             #endasm                     

             test_bit0=3;

             break;

    case 4:

            #asm

            .equ __w1_port=0x18;PORTB4

            .equ __w1_bit=4

             #endasm                     

            test_bit0=4;

            break;

    default:

             break;

             }

      }

shirely_ivy 发表于 2006-8-6 09:09:46

哪位高手,指点一下啊!
页: [1]
查看完整版本: 请教一下,CodeVision中有关1 Wire Protocol Functions的问题