Hello,
> I've made a small program to test the i/o of the DIO1 header on my
> TS7300 on output mode. I generate a 0.5Hz signal on each port, and the
> result is :
It looks like you are driving every bit in portb,e,c,& f high then low.
You should only be modifying the bits that correspond to the GPIO pins.
//Eddie
> Pin 1 : DIO_0 (PortB.0) : no signal
> Pin 3 : DIO_1 (PortB.1) : no signal
> Pin 5 : DIO_8 (PortF.1) : signal ok
> Pin 7 : DIO_3 (PortB.3) : no signal
> Pin 9 : DIO_4 (PortB.4) : no signal
> Pin 11 : DIO_5 (PortB.5) : signal ok
> Pin 13 : DIO_6 (PortB.6) : signal ok
> Pin 15 : DIO_7 (PortB.7) : signal ok
>
> Pin 2 : gnd
> Pin 4 : EXT_RESET
> Pin 6 : SPI_frame
> Pin 8 : ADC4
> Pin 10 : SPI_miso
> Pin 12 : SPI_mosi
> Pin 14 : SPI_clk
> Pin 16 : +3.3V
>
> Why the DIO_1, DIO_3 and DIO_4 doesn't work in output ?
>
> This is my test program :
>
> #include <unistd.h>
> #include <sys/types.h>
> #include <sys/mman.h>
> #include <stdio.h>
> #include <fcntl.h>
> #include <string.h>
>
> int main(int argc, char ** argv)
> {
> volatile unsigned int * PBDR, *PBDDR, *PEDDR, *PEDR,
> *PFDDR,*PFDR,*PCDDR,*PCDR;
>
> unsigned char * start;
>
> int fd = open("/dev/mem", O_RDWR);
> start = mmap(0, getpagesize(), PROT_READ|PROT_WRITE,
> MAP_SHARED, fd,0x80840000);
>
> PBDR = (unsigned int * ) (start + 0x04);
> PBDDR = (unsigned int * ) (start + 0x14);
> PEDR = (unsigned int * ) (start + 0x20);
> PEDDR = (unsigned int * ) (start + 0x24);
> PFDR = (unsigned int * ) (start + 0x30);
> PFDDR = (unsigned int * ) (start + 0x34);
> PCDR = (unsigned int * ) (start + 0x08);
> PCDDR = (unsigned int * ) (start + 0x18);
>
> *PBDDR = 0xFF; // all output
> *PEDDR = 0xFF; // all output
> *PCDDR = 0xFF; // all output
> *PFDDR = 0xFF; // all output
>
> while(1)
> {
> *PBDR = 0xFF; // all à 1
> *PEDR = 0xFF; // all à 1
> *PCDR = 0xFF; // all à 1
> *PFDR = 0xFF; // all à 1
> sleep(1);
> *PBDR = 0x00; // all à 0
> *PEDR = 0x00; // all à 0
> *PCDR = 0x00; // all à 0
> *PFDR = 0x00; // all à 0
> sleep(1);
> }
> }
>
>
>
>
>
>
>
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>
>
>
>
>
--
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|