您当前的位置:五五电子网电子知识电工技术电工文摘汉王手写芯片的触摸屏控制器应用设计 正文
汉王手写芯片的触摸屏控制器应用设计

汉王手写芯片的触摸屏控制器应用设计

点击数:7737 次   录入时间:03-04 12:01:58   整理:http://www.55dianzi.com   电工文摘

class QTOPIA_PLUGIN_EXPORT UniKeyboardImpl : public InputMethodInterface {
public:
  …
  Q_REFCOUNT
  virtual QWidget*inputMethod(QWidget*parent, Qt::WFlags f);
    //需要重载的虚函数,在该函数中可以添加用户自定义的输入法类
  …
  private:
  HandWrKeyboard *input;
    //HandWrKeyboard是手写输入法的类
  …
};

  函数virtual QWidget *inputMethod( QWidget *parent, Qt::WFlags f )重载为:

QWidget *UniKeyboardImpl::inputMethod( QWidget *parent, Qt::WFlags f ) {
  if ( !input )
  input=new HandWrKeyboard( parent, "HandWriting", f );
  return input;
}

  从功能上手写输入法软件部分可分为两种:显示笔划轨迹与显示识别候选字。

  触摸屏和HW006连接部分是完全的模拟量,由于液晶逆变器高频高压的干扰,笔划轨迹变得明显,与实际所写轨迹不符。除了需要在硬件上加滤波电容外,软件中也需要进行一定的修正。这里,采用3点均值滤波的方式来减小噪声干扰的影响。

按此在新窗口浏览图片

  在读到第一个点时,不做处理;读到2个点时,取这2个值的平均。这样,得到的坐标数据量不会不足,而且均值滤波可以很好地消除噪声的影响。

  读汉字码是通过读有名管道来实现的。经过实验,发现HW006在发送汉字码时,偶尔会出现发送的个数与所设置的不符。我们设置的识别字个数是5个,共10字节的数据。但如果所写的汉字比较简单,HW006可能识别不了5个汉字,这样发送给管道的数据不足10字节,结果会造成最终显示错误。为此,在读取汉字码的开始和结束处分别加一个起始位和结束位,这样根据读取管道得到的汉字码个数和起始位、结束位来判断识别结束,将最终得到的识别汉字正确地显示出来。

4  结论

  在“PXA255+Linux+Qtopia”平台上的运行及测试结果表明手写识别率能达到95%以上。由于HW006也实现了触摸屏控制器的功能,在硬件结构上完全可以代替原来的触摸屏控制器,因此并没有增加硬件的成本和复杂度。从上面的分析可以清楚地看出,此设计方案具有实用性和普遍意义,完全可以应用于其他嵌入式平台上。

参考文献

[1]  倪继利. Qt及Linux操作系统窗口设计[M]. 北京:电子工业出版社,2006.
[2]  Rubini A. Linux设备驱动程序[M]. 聊鸿斌,等译. 北京:中国电力出版社,2000.
[3]  Richard W Stevens. UNIX网络编程第2卷:进程间通信[M]. 杨继张,译. 北京:清华大学出版社,1999.

杨自锋(硕士),主要研究方向为嵌入式系统;
赵建业(教授),主要研究方向为神经网络、DSP、嵌入式系统。

上一页  [1] [2] 


本文关键字:控制器  触摸屏  汉王手写  电工文摘电工技术 - 电工文摘

《汉王手写芯片的触摸屏控制器应用设计》相关文章>>>