我现在用430单片机驱动MAX197,控制字些进去了,INT在写完控制字后也置低了,第一次读数据的时候INT也回到了高,
但是接下来INT就一直保持高电平,是怎么回事,如果控制字没写进去应该INT不会有变化啊,而且我只有在把ACQMOD位写
0的时候INT才回置低,说明芯片是正常的啊,但为什么不进行转换呢?
附上源代码,请各位用过的高手指点:
void MAX197_write(char temp) { MAX197_CS; MAX197_WR; _NOP(); delay_us(1); _NOP(); MAX197f_CS; MAX197f_WR; _NOP(); P6OUT=temp; _NOP(); MAX197_WR; _NOP(); MAX197_CS; delay_us(1); }
int MAX197_read(void) { int premp; char TempH,TempL; _NOP(); MAX197_HBEN; _NOP();
MAX197f_CS; _NOP(); MAX197f_RD; _NOP(); TempL=P6IN; _NOP(); MAX197f_HBEN; _NOP(); TempH=P6IN&0x0f; _NOP(); MAX197f_RD; _NOP(); MAX197_RD; MAX197_CS; premp=TempH*256|TempL; return premp; }
void MAX197_init(void) { P2DIR=0x0f; P2OUT=0x0f; P6DIR=0xff; P6OUT=0x00; MAX197_write(0x40); delay_ms(10); P6DIR=0x00; delay_ms(10); }
这是驱动代码,有什么问题还望指点,谢谢啊
|