如何在niosII中添加i2c外设_winday_新浪博客

如何在niosII中添加i2c外设

winday

摘要:本文说明了如何在niosII添加第三方i2c外设,以供参考。

由于本人使用的Altera SOPC Builder没有i2c外设,因此必须使用第三方i2c外设。如何把第三方i2c外设添加到niosII中,并加以应用呢?本人使用的开发环境:Altera SOPC Builder、Quartus II 8.0、Nios II  8.0 IDE。开发工具安装目录:D:\。

第一步,下载i2c外设软件包:oc_i2c_master.rar。本软件包包含i2c外设的HDL实现,及驱动代码。网络上很容易找到。

第二步,解压,并把整个文件夹复制到D:\altera\80\ip\sopc_builder_ip\。

第三步,在Altera SOPC Builder中create new componet->file->open 打开D:\altera\80\ip\sopc_builder_ip\ oc_i2c_master\中的class.ptf文件。

第四步,在Altera SOPC Builder中Tools->options->IP Search Path 如下设置:D:\altera\80\ip\sopc_builder_ip。

第五步,此时Altera SOPC Builder左侧Systerm Contents中出现DeviceSOPC-〉oc_i2c_master外设。双击此条目,i2c外设及可被添加到niosII上。

第六步,Altera SOPC Builder中sopc builder generate。

第七步,若没有错误,在Quartus II中顶层文件中(bdf文件)加入上步生成的nios_cpu

模块。

第八步,添加IO PIN,并把i2c相关的两个脚设置成双向IO,并设置成开漏输出。注意硬件上,i2c两个IO要加上拉电阻,2K欧姆较为合适。

第九步,Quartus II编译整个工程。

第十步,基于这个nios cpu在Nios II IDE中建立工程。通过包含头文件“oc_i2c.h”即可调用i2c外设的相关驱动函数。注意在读写i2c外设之前请先调用i2c初始化函数。

在Quartus II中编译整个工程时,若出现以下错误:Error:Node instance “the_oc_i2c_master”instantiates undefined entity “oc_i2c_master”,请将D:\altera\80\ip\sopc_builder_ip\oc_i2c_master\hdl下的四个.hdl件复制到当前工程文件夹下,重新编译

如何在niosII中添加i2c外设_winday_新浪博客的更多相关文章

  1. Javascript Jquery 中的数组定义与操作_子木玲_新浪博客

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  2. python中multiprocessing.pool函数介绍_正在拉磨_新浪博客

    python中multiprocessing.pool函数介绍_正在拉磨_新浪博客     python中multiprocessing.pool函数介绍    (2010-06-10 03:46:5 ...

  3. python中逐行读取文件的最佳方式_Drupal_新浪博客

    python中逐行读取文件的最佳方式_Drupal_新浪博客 python中逐行读取文件的最佳方式    (2010-08-18 15:59:28)    转载▼    标签:    python   ...

  4. Go语言中怎样判断数据类型_不懂的木匠_新浪博客

    要判断数据类型,可以用Go的空接口: 建一个函数t 设置参数i 的类型为空接口,空接口可以接受任何数据类型 func t(i interface{}) {  //函数t有一个参数i  switch i ...

  5. 如何在Eclipse中添加Tomcat的jar包

    原文:如何在Eclipse中添加Tomcat的jar包 右键项目工程,点击Java Build Path 点击Add Library,选择Server Runtime 选择Tomcat版本 此时就看到 ...

  6. 如何在Eclipse中添加Servlet-api.jar的方法

    方法一: 点击窗口->首选项->java->构建路径->类路径变量->新建:将你的tomcat目录下的common/lib/servlet.jar加进来.如果你建立了一个 ...

  7. Oracle 12c 多租户家族(12c 18c 19c)如何在 PDB 中添加 HR 模式

    Oracle 12c 多租户家族(12c [12.2.0.1].18c [12.2.0.2].19c [12.2.0.3])如何在 PDB 中添加模式:19c (19.3) 手工添加示例 HR 用户 ...

  8. linux中读写锁的rwlock介绍-nk_ysg-ChinaUnix博客

    linux中读写锁的rwlock介绍-nk_ysg-ChinaUnix博客 linux中读写锁的rwlock介绍 2013-02-26 13:59:35 分类: C/C++   http://yaro ...

  9. 【Tomcat-原】如何在Myeclipse中添加本地的Tomcat

    2014-10-27 16-24-09  liulin 说明: Myeclipse中自带Tomcat,如果不想用Myeclipse自带的Tomcat,可以使用本地的Tomcat, 下面将介绍如何在My ...

随机推荐

  1. linux 10 -Bash Shell编程

    二十三. Bash Shell编程:     1.  读取用户变量:     read命令是用于从终端或者文件中读取输入的内建命令,read命令读取整行输入,每行末尾的换行符不被读入.在read命令后 ...

  2. iOS swift 常量 && 宏定义

    全局常量 在C和Objective-C语言源文件中定义的全局常量会自动地被Swift编译引进并做为Swift的全局常量. 预处理指令 Swift编译器不包含预处理器.取而代之的是,它充分利用了编译时属 ...

  3. leetcode 1049 Last Stone Weight II(最后一块石头的重量 II)

    有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出任意两块石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 x == y,那么 ...

  4. Spring Cloud之统一fallback接口

    每个方法都配备一个fallback方法 不利于开发的 用类的方式 并且整个方法都是在同一个线程池里面的 主要对于client的修改: pom: <project xmlns="http ...

  5. Delphi程序的自动升级功能的实现(AutoUpdate使用指南)

    在UtiMnid组件下,利用auAutoUpgrader实现自动升级(已经测试通过) 第一步:下载AutoUpgrader.Pro.v4.6.4. 第二步:打开AutoUpgrader.Pro.v4. ...

  6. SpringCloud-服务的消费者(rest+ribbon)

    SpringCloud-服务的消费者(rest+ribbon) 在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的.Spring Cloud有两种服务调用 ...

  7. maven命令创建项目

    1)创建一个Project mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArti ...

  8. vc中调用Com组件的所有方法详解

    首先,对于Com组件的入门学习,可以看一下<Windows程序设计技术基础——MFC与.NET> 任哲编著的21世纪重点大学规划教材那本书,适合入门(虽然不一定会使用),了解些基础原理. ...

  9. js中的可枚举属性与不可枚举属性

    在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的.可枚举性决定了这个属性能否被for…in查找遍历到. 一.怎么判断属性是否可枚举 js中基本包 ...

  10. spring boot: 在maven中装入springframework框架

    1.在maven 的pom.xml中加入 <dependency> <groupId>org.springframework</groupId> <artif ...