4、开发环境搭建:Keil/IAR安装、串口驱动、NB-IoT模组AT指令调试工具

好,咱们进入实战前的最后一道准备工序——搭环境。

说实话,我见过太多学员卡在这一步。不是代码不会写,而是工具没装对,串口打不开,AT指令发不出去。结果折腾一整天,信心全没了。所以这一章,我带你一步步把环境捋顺。

4.1 集成开发环境:Keil 与 IAR 的选择与安装

做NB-IoT开发,你肯定绕不开这两家:Keil(MDK-ARM)和IAR Embedded Workbench。选哪个?

我个人习惯用Keil,因为它的社区资源多,网上例程一抓一大把。但IAR的编译优化确实更狠,代码能小一圈。如果你用的是STM32系列,我建议你优先上Keil。如果是NXP或瑞萨的片子,IAR可能更省心。

Keil MDK-ARM 安装要点:

  • 去官网下载最新版MDK,注意选带「Cortex-M」支持的版本
  • 安装路径不要有中文,不要有空格。我见过有人装到「D:\软件\Keil_v5」结果编译报错,折腾半天才发现是路径问题
  • 安装完成后,记得用注册机生成License。这一步别跳过,否则代码限制在32KB以内
  • 装完主程序后,还要装对应芯片的Pack包。比如STM32L4系列,就去Pack Installer里搜「STM32L4xx」

一个小技巧:Keil的编译速度有时候很慢。你可以在Options for Target -> C/C++里勾选「One ELF Section per Function」,能明显加快链接速度。我当年调一个多线程项目时,这个设置帮我省了至少半小时。

IAR的安装流程类似,但有一点要注意:IAR的License管理比较严格,如果你用的是破解版,记得先运行注册机,再导入License文件。我曾经因为顺序搞反,重装了三次系统才找到原因……嗯,都是泪。

4.2 串口驱动:让电脑认识你的开发板

开发板插上电脑,没反应?别慌,八成是串口驱动没装。

现在市面上常见的USB转串口芯片就那几种:CH340、CP2102、FT232。你买开发板时,卖家一般会送驱动光盘,但说实话,那光盘我从来没用过——直接去官网下最新版不香吗?

芯片型号 常见厂商 驱动下载方式 我踩过的坑
CH340 南京沁恒 官网直接下载 Win10以上系统有时会自动装,但Win7必须手动装
CP2102 Silicon Labs 官网下载或驱动精灵 注意区分CP2102和CP2104,驱动不通用
FT232 FTDI 官网下载 假货太多,驱动装不上八成是芯片是假的

驱动装好后,打开设备管理器,看看「端口(COM和LPT)」下面有没有出现新设备。如果出现一个带黄色感叹号的未知设备,说明驱动没装对。右键更新驱动,手动指定到驱动文件夹就行。

注意:串口号不要大于COM10。有些软件对高串口号支持不好。如果系统分配了COM11以上,你可以在设备管理器里右键 -> 端口设置 -> 高级,手动改成COM1到COM10之间的任意一个。我一般用COM3或COM4,习惯了。

4.3 NB-IoT模组AT指令调试工具

环境搭好了,怎么知道模组能不能正常工作?用AT指令。

AT指令说白了就是人和模组对话的语言。你发一句「AT」,模组回你一句「OK」,这就说明通信链路通了。

调试工具我推荐三个:

  • SSCOM(串口调试助手):老牌工具,界面简陋但稳定。我用了十年,没出过幺蛾子。
  • SecureCRT:功能强大,支持脚本。适合批量测试。
  • QCOM:国产精品,支持Lua脚本,自动收发。我最近在用它。

不管你用哪个,基本设置都一样:

  • 波特率:9600(NB-IoT模组默认,有些模组支持115200)
  • 数据位:8
  • 停止位:1
  • 校验位:无
  • 流控:无

快速验证模组是否正常:

发送:AT
返回:OK

发送:AT+CSQ
返回:+CSQ: 15,0
(信号强度,数值越大越好,10以下说明信号差)

发送:AT+CGATT?
返回:+CGATT: 1
(1表示已附着网络,0表示未附着)

我第一次调NB-IoT模组时,发AT指令一直没反应。检查了半天,发现是串口线的TX和RX接反了。你想想看,这多尴尬。所以记住:模组的TX接开发板的RX,模组的RX接开发板的TX。交叉连接,别搞错了。

避坑指南:我曾经遇到一个情况,AT指令能发,但模组就是不回「OK」。后来发现是模组的供电不足。NB-IoT模组在发射时电流能冲到200mA以上,如果你用USB供电,线太长或者质量不好,电压一掉,模组就罢工了。解决办法:用独立电源给模组供电,或者换一根粗短的USB线。

4.4 实战:一条AT指令打通全链路

好,理论说完了,咱们来点实际的。

假设你用的是BC26模组,按以下步骤操作:

  1. 把模组插到开发板上,接好天线(不接天线信号极差)
  2. 用USB线连接开发板和电脑
  3. 打开设备管理器,确认串口号(比如COM3)
  4. 打开SSCOM,设置好参数,打开串口
  5. 在发送区输入「AT」,勾选「加回车换行」,点击发送
  6. 如果返回「OK」,恭喜你,环境搭建成功

如果没返回,别急。按这个顺序排查:

  • 串口号对不对?
  • 波特率对不对?
  • TX/RX有没有接反?
  • 模组供电够不够?
  • 模组有没有烧录固件?(新模组一般自带固件,但二手的不一定)

嗯,基本上就这些。环境搭好了,下一章咱们就开始写代码,让传感器真正跑起来。