119
个编辑
更改
无编辑摘要
{| class="wikitable"
|+LiteOS NBIOT实验NBIOT实验简介
!实验名称
|内容简介!功能!|-|实验01-NB_AttachNetwork|NB101附着基站网络!|LiteOS下的串口收发操作,状态指示PWM输出
|-
|
|
|
|
|} === 1 工程目录简介 ===大家打开任意一个基础例程,都会看到如下的4个目录(Drivers、Inc、MDK-ARM、Src)及clean.bat文件。 其中'''<big>clean.bat</big>'''是用于清除工程编译生成的中间文件。例如我们想拷贝一个编译过的工程,工程有200M左右大小,我们点击clean.bat清除一下编译生成的中间文件,则工程大概会缩小到100M左右,此时工程只剩下了库文件、用户文件,以及编译生成的hex文件。[[文件:NBDK-TAB-MPath.png|边框|居中|无框|752x752像素]] 从上图可以看到,四个主目录下分别包含的一些文件,这边给大家简单的介绍一下这边文件大概的功能。 '''<big>Drivers:</big>''' STM32驱动文件目录,也就是大家常说的hal库,里面包含了hal(硬件抽象层)相关的文件。 主要就是有RCC时钟、Flash内存,以及大家常用的外设(例如uart、spi、adc等等)的一些库文件。 '''<big>Inc:</big>''' 用户.h头文件,用户文件的头文件一般都放到这边,也可自己另存其他位置,但是需要在keil中添加头文件所在的路径。 添加新路径的方式如下图所示,可以看到../Inc这个路径已经事先添加进去了。[[文件:NBDK-KEIL-C++.png|居中|无框|640x640像素]][[文件:NBDK-KEIL-Paths.png|居中|无框|516x516像素]] '''<big>MDK-ARM:</big>''' 工程目录,主要是两个工程文件“.uvoptx”以及".uvprojx"(keil打开的是这个)。剩下的文件比较重要的是Output目录下编译生成的“.hex”文件。 '''<big>Src:</big>''' 用户.c文件,用户自己开发的一些驱动文件(外设驱动等等),以及main文件所在的目录。 === 1.1 常用文件简介[编辑 | 编辑源代码] ===针对试验工程中的常见文件,我们以开发者的方式来给大家做一个简单的介绍。具体每个文件中的源码的详细说明,大家可以参照每个试验下的源码详解。{| class="wikitable"|+常见文件简介列表!文件名!说明|-|stm32l4xx_hal_conf.h|路径位于Inc目录下,里面主要是一些宏定义,用于选择本工程所使用的库文件。这边选择的库文件,就是目录简介中提到的HAL库。|-|main.c:|main()所在的文件,keil中我们配置了run to main(),也就是说工程从main()函数开始执行,所以main.c就是我们工程的主文件。[[文件:NBDK-KEIL-RunToMain.png|居中|无框|640x640像素]]|-|stm32l4xx_hal_msp.c|msp(main stack pointer)主栈堆指针初始化的文件。我们重定义外设引脚选择的时候,STM32Cube生成的硬件引脚重定义函数默认也位于此文件下,但是为了方便,我们一般将其复制到各自的驱动文件下。|-|stm32l4xx_it.c|中断配置文件,用于存放工程的中断。STM32Cube生成的中断函数默认位于此文件下,同样为了方便起见,我们一般将各自的中断函数放到各自的驱动文件下。|-|gyu_util.c|从STM32Cube生成的main文件中独立出来的部分。主要用于处理工程的时钟选择,包含系统时钟、总线时钟以及外设时钟。|-|stm32l4xx_hal_xx|HAL库文件。
|-
|gyu_xx|||由谷雨物联编写的文件,大部分是外设的驱动文件。
|}
=== 2 实验01-NB_AttachNetwork(附着网络) ===