EDN China > 设计实例 > 嵌入式系统 > 开发工具 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于嵌入式系统arm2210开发板的移动机器人人机界面设计

来源:电子设计信息网?? 2007年11月29日 ?? 收藏0

  数据传输

  接收上位机pc104发送的数据时,使能uart0的fifo进行数据发送/接收,接收采用中断处理方式。其中,uart0的串口模式和数据结构设置为:通信波特率9600,8位数据位,1位停止位,无奇偶校验。其主要程序如下:

  /*定义串口模式及数据结构*/
typedef? struct? uart0mode
{? uint8 datb;???????? // 字长度
uint8 stpb;???????? // 停止位
?uint8 parity;???? // 奇偶校验位
}? uart0mode;
/*初始化串口*/
uart0_set.datb= 8;???????????????? // 8位数据位
uart0_set.stpb = 1;???????????????? // 1位停止位
uart0_set.parity = 0;?????????????

// 无奇偶校验uart0_ini(9600, uart0_set);? // 初始化串口模式
/*串口uart0接收中断*/
void?? __irq irq_uart0(void)
{? uint8? i;
? if( 0x04==(u0iir&0x0f) ) rcv_new = 1; // 置新数据标志
?? for(i=0; i<8; i++)
?? { rcv_buf[i] = u0rbr; // 读fifo数据,清除中断标志}
?? vicvectaddr = 0x00;??????????? // 中断处理结束
}???????

  窗口显示

  人机界面主要是通过图标菜单实现移动机器人运动参数的显示,以及运动轨迹的相关操作,如"打开"、"暂停"、"关闭"等。因此,首先定义一个窗口的数据结构,并设置窗口的起始坐标、大小、标题等相关参数;然后调用gui_windowsdraw()输出显示窗口

  /* 设置主窗口并显示输出 */
mainwindows.x = 0;
mainwindows.y = 0;
mainwindows.with = 240;
mainwindows.hight = 128;
mainwindows.title = (uint8 *) "mobile robot interface";
mainwindows.state = null;
gui_windowsdraw(&mainwindows); // 绘制主窗口

  图标菜单也需要定义相关的数据结构,其中图标数据和文字显示可以通过字模软件转化为数据。如对应"打开"图标转化为数据:

  uint8 const menuico1[]={
? 0x00,0x70,0x00,0x1c,0x00,0x12,0x1c,0x1a,
? 0x17,0x0a,0x21,0xf1,0x20,0x1a,0x4f,0xfe,
? 0x58,0x02,0x50,0x02,0x60,0x06,0x60,0x04,
? 0x60,0x04,0x40,0x08,0x7f,0xf8,0x00,0x00,
};?? /*;图标"打开";宽×高(像素) : 16×16*/

  然后,将每一个图标菜单项的显示坐标地址、图标的数据指针、对应的服务函数等进行设置后,即可调用gui_menuicodraw()实现显示输出。

  mainmenu[0].icodat = (uint8 *) menuico1;
mainmenu[0].title = (uint8 *) "open";
mainmenu[0].function = (void(*)())runopen;

  另外,主程序需要先调用gui_setcolor(1,0)函数来设置前景色及背景色。1表示点显示,0表示点灭。

  图标菜单选择

  界面中还需实现对图标菜单的选择操作。i2c器件zlg7290提供了i2c接口功能和键盘中断信号。i2c总线是philips推出的芯片间串行传输总线,它以2根连线实现了完善的全双工同步数据传送,可以方便的构成多机系统和外围器件扩展系统。i2c总线采用了器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选线寻址方法,从而使硬件系统具有最简单而灵活的扩展方法。i2c操作模式分为主模式i2c和从模式i2c,分别对应lpc2210作为主机和从机。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

嵌入式? arm2210? 移动机器人? 人机界面?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈