ts-7000
[Top] [All Lists]

[ts-7000] DIO inputs

To: <>
Subject: [ts-7000] DIO inputs
From: salva g <>
Date: Wed, 14 Oct 2009 16:56:14 +0200


Hi, I have read a lot of, I think, from the forum but...here is my problem: (TS7800)
I'm working with this code

#include<unistd.h>
#include<sys/types.h>
#include<sys/mman.h>
#include<stdio.h>
#include<fcntl.h>
#include<string.h>

#define DIOBASE 0xE8000000
 int main(int argc, char **argv)
 {
     volatile unsigned int *PBDR, *PBDDR, *GPIOBDB;

     int i;
     unsigned char state;
     unsigned char *start;
     int fd = open("/dev/mem", O_RDWR|O_SYNC);

     start = mmap(0, getpagesize(), PROT_READ|PROT_WRITE, MAP_SHARED, fd,DIOBASE);

     PBDR = (unsigned int *)(start + 0x04); //port b
 //starting address of DIO read, E8000000 + 4 = E80 000 004
     PBDDR = (unsigned int *)(start + 0x14); //port b direction

     GPIOBDB = (unsigned int *)(start + 0xC4); // debounce on port b

     *PBDDR = 0x00; // all(8) inputs
     *GPIOBDB = 0x01; //enable debounce on bit 0
     state = *PBDR; // read initial state

     printf ("Press buttons on DIO inputs. Ctrl-C to Quit.\n");

     int count = 0;
     unsigned char oldstate = (unsigned char)0;
     while (1) //(state & 0x01)
     {
         state = *PBDR; // remember bit 0 is pulled up with 4.7k ohm
         if (oldstate != state)
         {
             printf ("State:%o\n", state);
             oldstate = state;
         }
         usleep(1000);
        
     }
     printf ("\nDONE\n");
     close(fd);
     return 0;
 }

but only have an answer in the shell when I short with ground (pin 2) the 1,3,5, or 7 pin DIO.
shorting the other 9,11,13,15, nothing happens, but with peek32 0xE8000004, I can see the changes, the problem is that the program shows only 2 hexadecimal characters. If I could see 4 of them, it will be solved.
And, I don't know why doesn't matter if I put (*PBDDR = 0x00 //all inputs) or (*PBDDR = 0xf0;): the program works equal in both.
Also, somebody could explain me the line: *GPIOBDB = 0x01; //enable debounce on bit 0

Thanks so much from newbee-world.


¿Para qué descargarte juegos, si tienes los más divertidos online? Entra ya en Juegos y prepárate para muchas horas de diversión

__._,_.___


Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: =Email Delivery: Digest | m("yahoogroups.com?subject","ts-7000-fullfeatured");=Change Delivery Format: Fully Featured">Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | =Unsubscribe

__,_._,___
<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU