网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> EDA >> NIOSII >> 文章正文
  NIOS中操作硬件           ★★★ 【字体:
NIOS中操作硬件
作者:61IC录入    文章来源:本站原创    点击数:    更新时间:2006-10-4    

NIOS II 中硬件很隐蔽,操作好象是用库里生成的函数,直接操作不方便,摸索了很长时间,前两天看一本书,是说SDK的时候,每组相关硬件的寄存器地址是连续的,上面给出了结构体来对应硬件寄存器组的方法,这点很像以前看过的一个2812的工程的处理方法,可以写一个结构体,然后再声明硬件名为这个结构体型的指针就可以直接对这个寄存器组操作了,访问哪个寄存器,可以通过->进行,若其中有某些寄存器是需要位操作的,可以再做一个位的结构体,然后做一个公用体,把这个位结构体和一个int型放在一起,然后就把这个需要位操作的寄存器声明为该公用体型即可。

比如

#include "system.h"
typedef struct
{
 int bit0 : 1;
 int bit1 : 1;
 int bit2 : 1;
 int bit3 : 1;
 int bit4 : 1;
 int bit5 : 1;
 int bit6 : 1;
 int bit7 : 1;
 int bit8 : 1;
 int bit9 : 1;
 int bit10 : 1;
 int bit11 : 1;
 int bit12 : 1;
 int bit13 : 1;
 int bit14 : 1;
 int bit15 : 1;
}ST_bit;

typedef union
{
 ST_bit bit;
 int port;
}UN_port;

typedef struct
{
 UN_port data;
 int direction;
 ...
 ...
 ...
}ST_pio;

#define pio0  ((volatile ST_pio *)P0_BASE)
#define P0  pio0->data.port
#define P0_Dir  pio0->direction
#define P0_0  pio0->data.bit.bit0
...
...
...

串口操作试着用这种方法做了一下,很方便。

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    高速存储器接口的低成本FPGA…
    利用流量控制管理器件实现通…
    利用流量控制管理器件实现通…
    一种基于FPGA的新型误码测试…
    ALTERA的NIOS CycloneII 2C3…
    FPGA C 语言编程指南
    产生基于FPGA的电路板所需的…
    产生基于FPGA的电路板所需的…
    产生基于FPGA的电路板所需的…
    平台FPGA为实现流量管理提供…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号