在没有其他外设的情况下,串口几乎是唯一的调试和观察手段。对于HaaS 610 Kit 4G开发板来讲也同样适用,该开发板共提供了3个串口,其基本情况如下:
4G_DBG_ RXD --- PIN11
4G_DBG_ TXD --- PIN12
4G_UART1_ RXD--- PIN68
4G_UART1_ TXD--- PIN67
4G_UART3_ RXD --- PIN 137
4G_UART3_ TXD --- PIN138
其中,UART1和UART3的位置分别见图1和图2所示。
图1 UART1
开发板上预留有串口座子,对应的是 UART2,串口位置:
图2 UART2
相应的接口原理图见图3所示,
此外,我们还可以通过例程来学习串口的使用及编程。
以UART2为例,实现串口读写的程序如下:
.json:
- {
- "version": "1.0.0",
- "io": {
- "UART2":{
- "type":"UART",
- "port":2,
- "dataWidth":8,
- "baudRate":115200,
- "stopBits":1,
- "flowControl":"disable",
- "parity":"none"
- }
- },
- "debugLevel": "DEBUG",
- "repl": "disable"
- }
复制代码
.Js:
- varuart = require('uart');
- vARMsgbuf = [97, 98, 99, 100];
- var serial = uart.open({
- id: 'UART2'
- });
- console.log('start uart test');
- // user uart send data
- serial.write(msgbuf);
- // user uart data receive
- serial.on('data', function(data) {
- console.log('uart receive data is ' + data);
- });
复制代码
该程序的下载过程如图4所示,下载后其运行效果如图5所示。
图4 下载过程
图5 输出数据
图6 2种显示结果
由于程序中并没有使用十六进制形式的表示方式,而是直接以十进制的方式来赋值。
故十进制的97、98、99和 100分别对应着0x61、0x62、0x63及0x64,也就是ASCII码的a、b、c和d。
若输入相应的内容,则会进行接收并加以回显,其效果如图7所示。
图7 接收与回显
那么对于应用中十分有用的字节数据发送是否有效呢?
回答是肯定的,将发送数组修改为varmsgbuf= [1, 2, 10, 13];
就可得到图8所示的结果,也就是说将指令数据存放到指令数组中,就可控制相应的串口设备了,例如使用串口来发送指令来控制MP3语音模块来播放音乐等。
|