【C# AT Lib】2:Lib设计的一些考虑

本文介绍了C# AT Lib库在设计时的主要考虑,包括仅支持同步调用以避免异步复杂性,设置Response Timeout以防止因Modem问题导致的卡死,以及详细阐述了AT Command类和AT Response类的设计思路,以解决如何识别和解析完整且期望的AT Response的挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们先来谈一谈设计AT Lib的一些考虑。

 

  • Sync和Async

毕竟和串口通讯这样的硬件打交道,我们需要支持异步调用吗?

我觉得一般在软件的高层会去实现异步调用(一般通过开启一个单独线程),所以AT Lib在设计的时候只支持同步调用。

 

  • Response Timeout

发送AT Command后,等待Modem的Response肯定需要超时管理。例如Modem死掉了,这样AT Lib在同步调用的时候不至于一直卡死在哪里。

 

  • AT Command

我们会设计一个AT Command类。为什么不直接用字符串而用一个专门的类呢?

- 有些Response有Result Code,有些没有

- 我们需要期望什么样的Response呢,需要把这样的期望加入到AT Command类中

 

  • AT Response

我们会设计一个AT Response类。

- 包含当时发送的AT Command字符串是什么

- 发送的AT Command字符串有没有Echo(如果Modem开启Echo,Modem会把AT Command放到Response中)

- Result Code是什么

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值