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;
>
> 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 *dr=*dr & 0x0000; while(1) {
> usleep(1000000);
> *dr= ~ *dr; }
>
> return 0; }
I'm not familiar with the 7800, but my 7250 code to twiddle DIO bits
looks similar, excepg ptr is declared as unsigned char*, not unsigned
long* (CPU difference?).
What frequency square wave are you expecting? Your usleep(1000000)is
going to give you a one-second period for each state. Flashing the LEDs
on port E (ptr + 0x24 on the 7250) might be an easier way to test this code.
--
Mike
Mike Dodd
Louisa County, VA USA
http://mdodd.com
------------------------------------
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/
|