This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM6467T里面gpio_get_value的问题



小弟在6467t上面做关于gpio的测试。

为了测试gpio的读写是否正确,与硬件方面做了一些约定,gpio0做输出,每写入一个0/1,这个值就输出到gpio1、gpio2、gpio3和gpio37

在内核里面是这样初始化的:

gpio_request(0, NULL) ;

gpio_request(1, NULL) ;

gpio_request(2, NULL) ;

gpio_request(3, NULL) ;

gpio_request(37, NULL) ;

.........

.........

gpio_direction_output(0, 0)  ;

gpio_direction_input(1)  ;

gpio_direction_input(2)  ;

gpio_direction_input(3)  ;

gpio_direction_input(37)  ;

写的时候是这样写的:

gpio_set_value(0, 1) ;

读的时候是这样写的:

unsigned int uValue1 = 0 ;

unsigned int uValue2 = 0 ;

unsigned int uValue3 = 0 ;

unsigned int uValue37 = 0 ;

uValue1= gpio_get_value(1) ;

uValue1 = (uValue1 >> 1) & 0x00000001 ;

uValue2 = gpio_get_value(2) ;

uValue2= (uValue2>> 2) & 0x00000001 ;

uValue3 = gpio_get_value(3) ;

uValue3= (uValue2>>3) & 0x00000001 ;

uValue37 = gpio_get_value(37) ;

uValue37= (uValue2>>5) & 0x00000001 ;

结果是这样的:

uValue1、uValue2、uValue3都是1,但是uValue37始终是0

不明白为什么是这样,gpio37需要什么特殊设定么?或者说gpio32以上的引脚需要做什么特殊处理么?