使用nios的自带的液晶,我用标准IO函数通过虚拟设备到液晶上,液晶可以显示正常的信息,但有时在液晶的某一位或几位的信息没有刷新,仍然保留上次的字符,各位有做过的么,给点意见,怎么解决?
你在液晶显示下一次内容的时候,先把上一次的屏幕清掉啊。
我用的是标准输入输出函数fprintf输出的,标准输入输出函数里没有清屏的。本来想使用HAL下src里的驱动lcd_clear_screen函数,但调用不了,用#include包含不进来编译就出问题,#include中加相对路径和绝对路径也不行,nios的驱动函数不能用么?
我试过了,HAL/inc下的,altera_avalon_lcd_16207.h中的函数alt_lcd_16207_init和alt_lcd_16207_write是可以调用的。但是,HAL/src下的,altera_avalon_lcd_16207.c中的子函数lcd_clear_screen和其他几个却不可以调用,而这个函数也正是我想用的,却用不了。不信你也试试
谢谢,版主,给于的帮忙。
今天搞定了一部分,先介绍一下,文件.h中只声明了两个函数init和write,这两个是可以用的。clear函数不可以用,因为他是静态函数(杭州自由电子公司做NIOS开发板的工程师说的,我才恍然)。这样就不能直接调用clear函数了,又看了驱动函数init和write包含clear函数,可以用过这两个函数间接调用clear函数,命令组合是[ 2 J于是按要求write函数格式写入,并单步调试执行,alt_lcd_16207_write ->lcd_handle_escape ->lcd_clear_screen(dev),顺序执行了。
但还一点比较纳闷的是执行完清明应该屏幕什么也没有呀,可屏幕上的字符还依然存在,为什么呢?难道没有清?请再帮想想办法.
看看液晶的资料,清屏应该是写一个指令,你看指令写得对不对。
实在不行就往液晶上写空间,当着是清屏吧。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |