_____________________________________
深入交流QQ群:
A: 204255896(1000人超级群,可加入)
B: 165201798(500人超级群,满员)
C: 215053598(200人高级群,满员) D: 215054675(200人高级群,满员)
E: 215055211(200人高级群,满员) F: 78538605 (500人高级群,满员)
G:158560047(500人高级群,满员) H:103661446(可加入。。。)
YY 群:7182393
YY频道:80518139(不定期语音群课)
博客:http://XiaomaGee.cnblogs.com
提示:请关注论坛和博客,以便浏览本文档最新版本
_____________________________________
例程截图:
-----------------------------------------------------
写在前面的话
经过这一段时间的整理,nios高级篇教程终于和读者见面了,本文作者本着程序规范,结构清晰的原则来编写这套程序。在nios教程中,用寄存器操作和库函数操作保持了高度的统一,这样读者在看程序的时,可以自己对比着看,更容易上手。Nios教程所实现的iCore板的上的功能和STM32实现的功能几乎是一致的,编写的程序的思想也是一致的,通过和STM32上的程序的对比,可以更清楚的了解到SOPC的魅力。
具体来说nios教程高级篇有如下特点:
1)、程序量大,以LM75A为例,一般包含include文件夹,driver文件夹,main文件夹。如果需要用液晶屏显示和SD的话,则包含更多的文件夹。
其中,include文件夹主要存放一些.h头文件信息,driver文件夹存放.c文件,具体的驱动信息,main文件夹,主要存放main.c主文件。
2)如果需要显示的数据量比较大的话,统一用VGA显示器作显示屏,这样显示效果比较直观。由于VGA显示器驱动也是一个比较复杂的,详细请参考博客http://xiaomagee.cnblogs.com/,关于nios如何驱动VGA显示器。以LM75A为例。
3)实现同一个功能编写程序采用两种编程思路,一种是官方提供的库函数,通过库函数操作相对来说比较简单,但是带来的问题是调试比较困难,因为库函数都封装好了,具体操作我们无法得知。另一种是寄存器操作,通过看官方的芯片手册,理解每一个寄存器的含义,编写相应的程序,这样可能比较难于上手,但是一旦掌握规律的话,编写程序会很精练,而且有利于调试。无论是库函数还是寄存器,本套例程把这种编程思路统一起来了,用库函数编写的在A文件夹,用寄存器编写的在B文件夹,读者可以自己对比着其中奥妙。
4)nios II作为一种控制器内核,应该说和ARM等编程思路也是相近的,恰好iCore开发板上有ARM芯片STM32,比如用STM32做温度实验和用nios做温度实验,他们的异同点和相同点各是什么。本套例程也尽量做到了和STM32编程保持了一致,甚至把相应的文件夹的命名也是保持了一致,这样读者可以直接在学习STM32的基础上来学习nios,也可以在学习的nios的基础上来学STM32。
-----------------------------------------------------
VGA显示器界面工作截屏
-----------------------------------------------------
软件包下载(百度网盘)
http://pan.baidu.com/share/link?shareid=468157&uk=4247225764
iCore组合板购买地址:
-----------------------------------------------------