To: | |
---|---|
Subject: | [ts-7000] Odd results Polling DIO on 7800 |
From: | "eric.robishaw" <> |
Date: | Mon, 04 Aug 2008 22:27:15 -0000 |
Attempting to poll the DIO lines on 7800. (I've modified the button example to use as a base for polling the DIO lines.) CODE BELOW However, there are some strange issues I can't figure out.
Pin 1 =0x14,The Bottom line que stion is this: How do I determine which pins are shorted from the value of state (see code) Why do I not get state changes from pins 6,7,9-15 BEWARE: the 7800 manual is incorrect. According to the specs, pin 2 is Ground (not an input/output) and pin 16 is 3.3V (again, not an IO line) CODE: #define DIOBASE 0xE8000000int 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); 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 = E80000004 PBDDR = (unsigned int *)(start + 0x14); //port b direction GPIOBDB = (unsigned int *)(start + 0xC4); // debounce on port b & nbsp; *PBDDR = 0xf0; //upper nibble output, lower nibble input *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:%x\n", state); oldstate = state; } usleep(100); &nb s p; count++; } printf ("\nDONE\n"); close(fd); return 0; } __._,_.___
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> |
---|---|---|
|
Previous by Date: | [ts-7000] Re: Unable to get hello world file to work on TS-7800, charliem_1216 |
---|---|
Next by Date: | [ts-7000] Re: Unable to get hello world file to work on TS-7800, yanniepa |
Previous by Thread: | [ts-7000] Re: Unable to get hello world file to work on TS-7800, eric.robishaw |
Next by Thread: | Re: [ts-7000] Odd results Polling DIO on 7800, Jim Jackson |
Indexes: | [Date] [Thread] [Top] [All Lists] |
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