ChipKIT Uno32 教程--第三课:与chipKIT对话

作者: Pollux
上传时间为: 2012-07-12 02:07 AM
2012-07-12
阅读:

这一章主要介绍chipKIT Uno32如何通过串口与计算机通信。

MPIDE简介

之前我们已经接触过了chipKIT的开发环境MPIDE,它是在Arduino IDE基础上修改而来。集成开发环境由JAVA语言编写,界面非常友好。而编程语言也以Processing和C语言为基础,将很多单片机的参数设置操作都封装成函数,使得基于Arduino语言编程也非常简单。

MPIDE界面操作简单

MPIDE提供了非常多样例程序

MPIDE中一个程序或者项目就叫做一个Sketch,主程序是.pde文件

 函数库

丰富的库文件是Arduino的一大特色。库是很多函数的一个大集合,而这些函数之间是相关的。这里我们要用到的是串行通信函数库,具体功能请看Serial

串口连接

chipKIT上的PIC32微处理器集成了两个UART口,因此在chipKIT Uno32的GPIO上也有两路串行通信。

UART1与USB控制芯片的串行接口相连,同时也连接到数字0(RX)、数字1(TX)。当不需要USB通信时,我们也可以用来接外部串行设备,需要注意电压范围,此引脚是直接由微处理器引出。

LD1和LD2是USB虚拟串口通信指示灯。

UART2连接到数字39(RX)、数字40(TX)。可以用来接外部串行设备,需要注意电压范围,此引脚是直接由微处理器引出。

 Hello World

下面我们来试试第一个简单的程序hello world,输入以下代码。

  • 不管任何程序,setup()loop()是必不可少的函数,即使函数什么也不做,没有一行代码,也必须具备。
  • 串口通信,首先必须在setup()里初始化串口serial.begin(),同时设置串行传送的波特率,这里我们设为9600bit/秒。
  • 程序编译好以后,下载到目标板,完成后打开串口监视窗口。chipKIT Uno32会初始化串行通信,然后执行程序。

  • loop()没有内容,程序执行后只打印一次'Hello World',如果复位chipKIT Uno32,会再一次执行程序。

修改Sketch

现在我们对上面程序修改一下,如下:

在setup()中初始化串口,在loop()中打印字符,delay(1000)语句用来延时1秒,因此每隔1秒打印“helloworld”。

注意观察chipKIT Uno32,会发现LD2一直在闪烁,因为每隔一秒会通过串口发送数据到计算机,所以RX指示灯会有指示有数据传送。

接收串口信息

我们已经可以通过串口发送数据,下面来试试接收数据,输入以下代码,串行库函数说明可参见serial

  • 该程序首先判段串口有没有数据,如果有,读出字符
  • 输出所接收到的串口字符
  • 判断接收的字符,如果为字母“A"将点亮LD4,否则熄灭LD4,同时在串口监视窗口显示。
  • 下载程序后,打开串口监视窗口,在send框内可以输入一个或者一串字符。

  • 在接收数据时,LD1会变亮显示接收数据。
  • 根据就收的字符可以点亮或者熄灭LD4。
全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示