On Mon, 19 Mar 2012, Jim Jackson wrote:
> On Sat, 17 Mar 2012, charliewxj wrote:
> > Hello, I just started using TS 7800 board. I just want to use DIO header to
> > create a square wave. I tried to write a C code but it didn't succeed. I
> > need help from all of you.
> >
> > #include <stdio.h>
> > #include <stdlib.h>
> > #include <sys/stat.h>
> > #include <sys/mman.h>
> > #include <unistd.h>
> > #include <fcntl.h>
> >
> > int main(void)
> > {
> >
> > char input;
> > int fd;
> > unsigned long *ptr;
> > unsigned long *dr;
>
> try defining pointers as volatile
>
> >
> > printf("begin, square wave.\n");
> >
> > fd= open("/dev/mem",O_RDWR) ;
> >
> > ptr =
> > mmap(NULL,getpagesize(),PROT_READ|PROT_WRITE,MAP_SHARED,fd,0xe8000000);
> >
> > dr =ptr + 0x4; // 0x4 offset
>
> I don't know the memory map of 7800, but here you are index the 4th integer
> (23bits) from ptr. If you want the 4th byte then redefine your pointers as
^^-- 32bits sorry for typo.
> unsigned char * , or divide the byte offset by 4.
>
>
> > *dr=*dr & 0x0000;
> > while(1)
> > {
> > usleep(1000000);
> > *dr= ~ *dr;
> > }
> >
> > return 0;
> > }
> >
> >
> >
> >
> >
>
------------------------------------
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/
|