社区导航

 

搜索
查看: 442|回复: 3

[原创] 树莓派windows iot 开发(四) UART接口

[复制链接]

1162

TA的帖子

2

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

发表于 2020-2-5 22:37 | 显示全部楼层 |阅读模式

目录


树莓派windows iot 开发(一)

树莓派windows iot 开发(二) USB摄像机

树莓派windows iot 开发(三) 闪烁的LED

树莓派windows iot 开发(四) UART接口

 

 

树莓派windows iot开发(四)UART接口


UART设备是一种历史悠久的通讯外设。树莓派也支持UART设备,但接口是TTL接口电平,如果你使用的是标准的RS232接口需要使用TTLRS232串口模块。

RS232.jpg

设备接口定义:8PIN10PINUART接口。

rp2_pinout.png 实验前:将TTL转换板的引脚与设备连接。

使用VS2019打开Samples\ SerialUART\CS\ SerialSample.sln项目。
vs2019_1.jpg 程序运行后,打开设备可以看到设备连接的信息。从屏幕中可以看到树莓派中只有一个UART设备,在设备的列表中有

"\\?\ACPI#BCM2836#0#{86e0d1e0-8089-11d0-9ce4-08003e301f73}"

字串就是信息。这个和我们看到的COM1这样的名字不一样。

helper.jpg 使用串口助手发送“Hello”,下面我们分析一下代码。

") rgba(220, 220, 220, 0.5); left: 0px; top: -15px; display: block;">

这是一段简化的代码。

serialPort = await SerialDevice.FromIdAsync(entry.Id);

其中的参数entry.Id是文本类型的参数,就是在设备列表中出现的字串

"\\?\ACPI#BCM2836#0#{86e0d1e0-8089-11d0-9ce4-08003e301f73}"

如果是已选定的设备直接将字串传给SerialDevice对象。

  serialPort.WriteTimeout = TimeSpan.FromMilliseconds(1000);

        serialPort.ReadTimeout = TimeSpan.FromMilliseconds(1000);               

        serialPort.BaudRate = 9600;

        serialPort.Parity = SerialParity.None;

        serialPort.StopBits = SerialStopBitCount.One;

        serialPort.DataBits = 8;

serialPort对象就是UART设备,参数为“9600,N,8,1”

数据的接收。

") rgba(220, 220, 220, 0.5); left: 0px; top: -15px; display: block;">

可以看到Listen中有一个异步死循环。这就是事件的检查函数。但是不用担心这个循环只是把事件挂钩到函数上就会退出来。然后程序就继续了。

发送数据就要简单些了。

") rgba(220, 220, 220, 0.5); left: 0px; top: -15px; display: block;">

从代码中可以看到需要两个步骤,

一、将数据设置到dataWriteObject.WriteString(sendText.Text);

二、启动发送函数,await WriteAsync();

windows iot的系统是事件驱动的多任务系统,设备的驱动中会启动相应的线程。这要比自己写任务的系统简单一些。

此内容由EEWORLD论坛网友bigbat原创,如需转载或用于商业用途需征得作者同意并注明出处

此帖出自WindowsCE论坛
PCRS232.jpg

回复

使用道具 举报

1162

TA的帖子

2

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

 楼主| 发表于 2020-2-6 10:13 | 显示全部楼层

大家好象对windows iot没啥兴趣呀!因为我从事过很多工控机的项目,所以觉得windows系统不只是桌面系统,其实有些系统用windows开发比较好的。

点评

挺不错的。感觉最近肺炎的事情闹的,大家研究的心思也少  详情 回复 发表于 2020-2-6 13:01

回复

使用道具 举报

1万

TA的帖子

133

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

发表于 2020-2-6 13:01 来自手机 | 显示全部楼层
bigbat 发表于 2020-2-6 10:13
大家好象对windows iot没啥兴趣呀!因为我从事过很多工控机的项目,所以觉得windows系统不只是桌面系统,其 ...

挺不错的。感觉最近肺炎的事情闹的,大家研究的心思也少

回复

使用道具 举报

1944

TA的帖子

1

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

发表于 2020-2-6 13:03 来自手机 | 显示全部楼层
挺好的,兴趣慢慢建立,毕竟Windows属于闷声发大财的主。当年wince可没安卓这么多关注。win iot还是平台少了,东西是真不错。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/3 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-4-8 00:32 , Processed in 0.157974 second(s), 21 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表