传感网应用开发(高级)课件75NBIoT通信应用开发(代码部分讲解).ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《传感网应用开发(高级)课件75NBIoT通信应用开发(代码部分讲解).ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传感 应用 开发 高级 课件 75 NBIoT 通信 代码 部分 讲解
- 资源描述:
-
1、01全局变量、自定义函数的声明02自定义函数功能解析03主函数功能代码目录目录CONTENTS01掌握工程文件的添加02掌握变量定义及函数声明方式03掌握NB模块的基本配置步骤技能技能知识点知识点CONTENTS04掌握光照控制灯及模式切换应用开发1全局变量、自定义函数的声明全局变量、自定义函数的声明知识链接01STM32CubeMX生成工程介绍02函数声明和头文件添加STM32CubeMX生成工程介绍01 通过前次课程的学习,大家已经掌握了使用STM32CubeMX快速生成项目的方法。通过STM32CubeMX新建工程,快捷、方便,比使用keil5更加易于理解,不抽象。1、头文件的添加2、自
2、定义变量的添加3、自定义函数的声明02(1)、打开main.c 文件(2)、头文件,变量及函数声明处1、头文件的添加2、自定义变量的添加3、自定义函数的声明02(1)、添加新增的头文件引用,内容如下:#include user_cloud.h#include user_oled.h#include user_usart1.h#include user_usart2.h#include key.h#include oled.h(2)、添加变量声明 uint8_t usart1RxBuf;/串口1接收缓存 uint8_t usart2RxBuf;/串口2接收缓存(3)、添加自定义函数声明 int
3、fputc(int ch,FILE*f);/定向输出函数float get_illumination_value();/ADC采集并转化为光照值void control_light(uint8_t status);/控制灯亮灭功能函数void automatic_mode(int value,int*light_flag);/根据光照强度自动控制灯亮灭的功能函数void HAL_UART_RxCpltCallback(UART_HandleTypeDef*huart);/串口中断服务程序void HAL_UART_ErrorCallback(UART_HandleTypeDef*huart);
4、/串口错误处理程序2自定义函数功能解析自定义函数功能解析任务要求任务要求 本任务要求用户编写功能函数,实现以下函数功能(1)串口的定向输出程序(2)光照强度采集及处理程序(3)灯的亮灭控制程序(4)根据光强自动控制程序(5)串口中断服务程序(6)串口中断错误处理程序功能函数01fputc02Floatget_illumination_value03control_light04automatic_mode05HAL_UART_RxCpltCallbackHAL_UART_ErrorCallback06101此处调用了UART串口写函数,函数功能将字符通过串口1发出HAL_UART_Transm
5、it函数原型如下在main.c文件添加函数:(此处添加位置任意,前面已经声明)int fputc(int ch,FILE*f)HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,10);return ch;02Floatget_illumination_value函数:使用stm32 ADC功能,采集光照产生的模拟电压信号值,利用相关公式计算,将电压值转化为光照强度,作为返回值输出float get_illumination_value()float adcValue;float illumination_value;HAL_ADC_Start(&hadc);H
6、AL_ADC_PollForConversion(&hadc,10);adcValue=HAL_ADC_GetValue(&hadc);adcValue=adcValue*3.3/4096.0;illumination_value=pow(10,(1.78-log10(33/adcValue-10)/0.6);/将电压值转换为光照强度 oled_display_illumination(illumination_value);HAL_ADC_Stop(&hadc);return illumination_value;通过通过IO口输出高低电平控制继口输出高低电平控制继电器开关,进而控制灯的亮灭
展开阅读全文