传感网应用开发(高级)课件75NBIoT通信应用开发(代码部分讲解).ppt

上传人:小飞机 文档编号:1941034 上传时间:2022-12-27 格式:PPT 页数:25 大小:4.39MB
返回 下载 相关 举报
传感网应用开发(高级)课件75NBIoT通信应用开发(代码部分讲解).ppt_第1页
第1页 / 共25页
传感网应用开发(高级)课件75NBIoT通信应用开发(代码部分讲解).ppt_第2页
第2页 / 共25页
传感网应用开发(高级)课件75NBIoT通信应用开发(代码部分讲解).ppt_第3页
第3页 / 共25页
传感网应用开发(高级)课件75NBIoT通信应用开发(代码部分讲解).ppt_第4页
第4页 / 共25页
传感网应用开发(高级)课件75NBIoT通信应用开发(代码部分讲解).ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《传感网应用开发(高级)课件75NBIoT通信应用开发(代码部分讲解).ppt》由会员分享,可在线阅读,更多相关《传感网应用开发(高级)课件75NBIoT通信应用开发(代码部分讲解).ppt(25页珍藏版)》请在三一办公上搜索。

1、,“1+X”传感网应用开发 NB-IoT通信应用开发,01,全局变量、自定义函数的声明,02,自定义函数功能解析,03,主函数功能代码,目录,CONTENTS,01,掌握工程文件的添加,02,掌握变量定义及函数声明方式,03,掌握NB模块的基本配置步骤,技能知识点,CONTENTS,04,掌握光照控制灯及模式切换应用开发,1,全局变量、自定义函数的声明,知识链接,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)、添加自定义

3、函数声明 int 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_Hand

4、leTypeDef *huart); /串口错误处理程序,2,自定义函数功能解析,任务要求,本任务要求用户编写功能函数,实现以下函数功能(1)串口的定向输出程序(2)光照强度采集及处理程序(3)灯的亮灭控制程序(4)根据光强自动控制程序(5)串口中断服务程序(6)串口中断错误处理程序,功能函数,06,1,在main.c文件添加函数:(此处添加位置任意,前面已经声明),int fputc(int ch,FILE *f) HAL_UART_Transmit(,float get_illumination_value() float adcValue; float illumination_valu

5、e; HAL_ADC_Start( ,通过IO口输出高低电平控制继电器开关,进而控制灯的亮灭。此处使用的IO引脚为PA8,oled_display_light_status为LED屏幕显示函数,显示灯的亮灭状态,03,void control_light(uint8_t status) if(status=LIGHT_OPEN) HAL_GPIO_WritePin(Light_GPIO_Port,Light_Pin,GPIO_PIN_SET); oled_display_light_status(LIGHT_OPEN); else HAL_GPIO_WritePin(Light_GPIO_Po

6、rt,Light_Pin,GPIO_PIN_RESET); oled_display_light_status(LIGHT_CLOSE); ,void automatic_mode(int value,int *light_flag) static int now_ill_value; if(value3) ,void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) if(huart=,1,当串口出现错误时,会进入到此处,先将串口的错误码发送给上位机,再根据串口号,重新打开串口中断。,06,void HAL_UART_ErrorCallba

7、ck(UART_HandleTypeDef *huart) printf(usart Error:%xrn,huart-ErrorCode); huart-ErrorCode=HAL_UART_ERROR_NONE; if(huart= /重新打开串口2接收中断,3,主函数功能代码添加,知识链接,参数介绍,01,OLED_Init();keys_init();oled_display_information();oled_display_connection_status(LINKING);oled_display_light_status(LIGHT_CLOSE);oled_show_mode(MANUAL);HAL_UART_Receive_IT(,3,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号