如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
nios2c语言编程方法
HYPERLINK"http://lanhg2008.blog.163.com/blog/"\l"m=0&t=1&c=fks_087068082083087069085086083095092081085064080087081075"FPGA2010-05-2000:20:22阅读66评论0字号:大中小
来自:HYPERLINK"http://www.fpga4u.com/bbs/thread-66-1-1.html"http://www.fpga4u.com/bbs/thread-66-1-1.html
IORD(base,0)//读数据寄存器DATA
IORD(base,1)//读方向寄存器DIRECTION
IORD(base,2)//读中断标志寄存器interruptmask
IORD(base,3)//读边沿触发寄存器edgecaptureIOWR(base,1,data)//写方向寄存器DIRECTION
IOWR(base,3,data)//写中断标志寄存器edgecaptureIOWR(base,0,data)//写数据寄存器DATAIOWR(base,2,data)//写中断标志寄存器interruptmasknios2的C语言和X86或者单片机C语言很相似,上层的标准C库函数都是一样的,区别在于与底层硬件相关的各个外设寄存器的结构不同。如果我们把访问底层硬件寄存器的函数封装起来供上层调用,平台之间的移植就显得很容易了。下面我总结了一些外设的寄存器结构以及用于访问寄存器的函数。1.可编程输入、输出口PIO//Definedinpio_struct.h//PIOPeripheral//PIORegisterstypedefvolatilestruct{intnp_piodata;//read/write,upto32bitsintnp_piodirection;//write/readable,upto32bits,1->outputbitintnp_piointerruptmask;//write/readable,upto32bits,1->enableinterruptintnp_pioedgecapture;//read,upto32bits,clearedbyanywrite}np_pio;#defineIOADDR_ALTERA_AVALON_PIO_DATA(base)__IO_CALC_ADDRESS_NATIVE(base,0)#defineIORD_ALTERA_AVALON_PIO_DATA(base)IORD(base,0)#defineIOWR_ALTERA_AVALON_PIO_DATA(base,data)IOWR(base,0,data)#defineIOADDR_ALTERA_AVALON_PIO_DIRECTION(base)__IO_CALC_ADDRESS_NATIVE(base,1)#defineIORD_ALTERA_AVALON_PIO_DIRECTION(base)IORD(base,1)//读方向寄存器DIRECTION#defineIOWR_ALTERA_AVALON_PIO_DIRECTION(base,data)IOWR(base,1,data)#defineIOADDR_ALTERA_AVALON_PIO_IRQ_MASK(base)__IO_CALC_ADDRESS_NATIVE(base,2)#defineIORD_ALTERA_AVALON_PIO_IRQ_MASK(base)IORD(base,2)#defineIOWR_ALTERA_AVALON_PIO_IRQ_MASK(base,data)IOWR(base,2,data)#defineIOADDR_ALTERA_AVALON_PIO_EDGE_CAP(base)__IO_CALC_ADDRESS_NATIVE(base,3)#defineIORD_ALTERA_AVALON_PIO_EDGE_CAP(base)IORD(base,3)#defineIOWR_ALTERA_AVALON_PIO_EDGE_CAP(base,data)IOWR(base,3,data)2。可编程定时器//TimerPeripheral//TimerRegisterstypedefvolatilestruct{intnp_timerstatus;//readonly,2bits(anywritetoclearTO)intnp_timercontrol;//write/readable,4bitsintnp_timerperiodl;//write/readable,
as****16
实名认证
内容提供者
最近下载