当前位置: 首页 > wzjs >正文

网站广告用ps如何做专业提升关键词排名工具

网站广告用ps如何做,专业提升关键词排名工具,免费个人作品集模板下载,模板网站建设制作【瑞萨RA4L1-SENSOR套件测评】LCD 水位显示 本文介绍了瑞萨 RA4L1 开发套件通过瑞萨 e2 Studio 灵活软件包(FSP)快速创建工程,ADC 读取水位传感器模拟信号电压,实现 LCD 段码屏实时显示水位高度的项目设计。 简介 在前三篇帖子…

【瑞萨RA4L1-SENSOR套件测评】LCD 水位显示

本文介绍了瑞萨 RA4L1 开发套件通过瑞萨 e2 Studio 灵活软件包(FSP)快速创建工程,ADC 读取水位传感器模拟信号电压,实现 LCD 段码屏实时显示水位高度的项目设计。

简介

在前三篇帖子中,我们介绍了瑞萨 RA4L1 开发套件通过 e2 studio 软件实现 ADC 水位监测计与串口打印、 LCD 显示工程测试、LCD 自定义数字显示 的主要流程。

这里我们将进一步实现 ADC 电压值的 LCD 显示水位高度的 LCD 显示 的项目设计。

项目方案

  1. 创建 LCD 显示工程;
  2. 构建 LCD 显示函数库文件,实现自定义数字显示;
  3. 添加 UART 和 ADC 堆栈,将 A0 模拟通道采集的电压值通过串口打印,并输送至 LCD 显示;
  4. 连接水位传感器,通过 A0 读取模拟信号电压值,转换为水位高度,并输送至 LCD 显示。

代码

使用 e2 studio 软件和 FSP 快速创建目标工程,配置 UART、 ADC 和 LCD 堆栈,生成工程的基本架构;

添加 LCD 数字显示库文件和主函数代码;

电压 LCD 显示

添加串口打印和ADC电压采集关键代码;

#include "hal_data.h"
#include <stdio.h>
#include "LCD_ShowNum.h"FSP_CPP_HEADER
void R_BSP_WarmStart(bsp_warm_start_event_t event);
FSP_CPP_FOOTERfsp_err_t err = FSP_SUCCESS;
volatile bool uart_send_complete_flag = false;
void user_uart_callback (uart_callback_args_t * p_args)
{if(p_args->event == UART_EVENT_TX_COMPLETE){uart_send_complete_flag = true;}
}
#ifdef __GNUC__                                 //串口重定向#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else#endifPUTCHAR_PROTOTYPE
{err = R_SCI_UART_Write(&g_uart9_ctrl, (uint8_t *)&ch, 1);if(FSP_SUCCESS != err) __BKPT();while(uart_send_complete_flag == false){}uart_send_complete_flag = false;return ch;
}int _write(int fd,char *pBuffer,int size)
{for(int i=0;i<size;i++){__io_putchar(*pBuffer++);}return size;
}volatile bool scan_complete_flag = false;
void adc_callback (adc_callback_args_t * p_args)
{FSP_PARAMETER_NOT_USED(p_args);scan_complete_flag = true;
}void hal_entry(void)
{/* TODO: add your own code here *//* Open the transfer instance with initial configuration. */err = R_SCI_UART_Open(&g_uart9_ctrl, &g_uart9_cfg);assert(FSP_SUCCESS == err);printf("hello world!\n");/* Initializes the module. */err = R_ADC_Open(&g_adc0_ctrl, &g_adc0_cfg);/* Handle any errors. This function should be defined by the user. */assert(FSP_SUCCESS == err);/* Enable channels. */err = R_ADC_ScanCfg(&g_adc0_ctrl, &g_adc0_channel_cfg);assert(FSP_SUCCESS == err);/* Open SLCDC driver */err = R_SLCDC_Open(&g_slcdc0_ctrl, &g_slcdc0_cfg);/* Handle any errors. This function should be defined by the user. */assert(FSP_SUCCESS == err);/* When using internal boost mode this delay is required to allow the boost circuit to charge. See RA4M1 User's* Manual (R01UH0887EJ0100) 8.2.18 "Segment LCD Source Clock Control Register (SLCDSCKCR)" for details. */R_BSP_SoftwareDelay(5, BSP_DELAY_UNITS_MILLISECONDS);/* Start SLCDC output */err = R_SLCDC_Start(&g_slcdc0_ctrl);assert(FSP_SUCCESS == err);while(1){uint16_t adc_data25 = 0;double a25;/* Enable scan triggering from ELC events. */(void) R_ADC_ScanStart(&g_adc0_ctrl);scan_complete_flag = false;while (!scan_complete_flag){/* Wait for callback to set flag. */}err = R_ADC_Read(&g_adc0_ctrl, ADC_CHANNEL_25, &adc_data25);assert(FSP_SUCCESS == err);a25 = (double)(adc_data25/4095.0)*3.3;printf("P510(AN25) = %d, Voltage = %fV\n",adc_data25,a25);uint16_t Num = a25 * 100; // convert to uint16_t styleLCD_ShowNum(Num);R_BSP_SoftwareDelay (500, BSP_DELAY_UNITS_MILLISECONDS);LCD_Clear();}#if BSP_TZ_SECURE_BUILDR_BSP_NonSecureEnter();
#endif
}

构建工程并调试、上传固件,即可实现 ADC 电压值的 LCD 显示。

水位 LCD 显示

添加水位高度与电压关系的转换代码

while(1)
{uint16_t adc_data25 = 0;double a25,wl;(void) R_ADC_ScanStart(&g_adc0_ctrl);scan_complete_flag = false;while (!scan_complete_flag){}err = R_ADC_Read(&g_adc0_ctrl, ADC_CHANNEL_25, &adc_data25);assert(FSP_SUCCESS == err);a25 = (double)(adc_data25/4095.0)*3.3;wl = (double)(41.774 * a25 - 38.686); // water level definition equationprintf("P510(AN25) = %d, Voltage = %fV, Water Level = %fmm\n",adc_data25,a25,wl);uint16_t Num = wl * 100; // convert to uint16_t styleLCD_ShowNum(Num);R_BSP_SoftwareDelay (500, BSP_DELAY_UNITS_MILLISECONDS);LCD_Clear();
}

构建工程并调试、上传固件,即可实现水位高度的 LCD 显示。

效果

这里分别展示了 ADC 电压值和水位高度的 LCD 显示以及串口输出效果。

ADC 电压的 LCD 显示

A0 分别连接 3V3GND、悬空,LCD 显示结果分别如下

在这里插入图片描述

在这里插入图片描述

ADC 电压的串口发送

使用 Type-C 数据线连接开发板的UART接口,运行串口调试助手软件,打开对应的端口即可获得输出本文

在这里插入图片描述

水位传感器信号的 LCD 显示

将水位传感器的模拟信号输出引脚与开发板的 A0 排母接口相连,此时 LCD 实时显示其电压值(单位:V 伏特)

在这里插入图片描述

动态效果

在这里插入图片描述

水位高度的 LCD 显示

电压转换为水位高度(单位:毫米),实现 LCD 显示水位高度值

在这里插入图片描述

动态效果

在这里插入图片描述

可见 LCD 显示的水位高度值随水位传感器的上下移动不断发生变化,即实现了实时水位监测。

同时串口打印水位

在这里插入图片描述

总结

本文介绍了瑞萨 RA4L1 开发套件通过瑞萨 e2 Studio 软件和灵活软件包(FSP)快速创建工程,ADC 读取水位传感器的模拟信号电压,实现 LCD 段码屏实时显示水位高度的项目设计,为瑞萨 RA4L1 系列单片机的快速开发和应用提供了参考。

http://www.dtcms.com/wzjs/411359.html

相关文章:

  • 做网站每年需要多少维护费外贸网站推广的方法
  • 刚开始的网站开发公司最新的全国疫情数据
  • 广东工厂网站建设新app推广去哪里找
  • 网页标准化对网站开发维护者的好处重庆网络推广平台
  • 代驾app软件开发公司北京网站优化指导
  • 手机网站制作推广定制万能搜索
  • 西三旗网站建设国际最新十大新闻事件
  • 360网站拦截做电销外包团队在哪找
  • 做模板网站怎么放视频教程bing搜索引擎
  • 中软国际软件培训六安seo
  • 网站建设费用价格中小企业网站
  • seo织梦网站建设步骤企业危机公关
  • sdcms网站源码百度怎么发布自己的信息
  • 营销型网站管理系统佛山网站建设解决方案
  • 大型网站开发 书籍seo需要什么技术
  • 盐城市网站北京seo网络优化师
  • 山西网络建站代运营优化设计电子课本
  • 有免费做理化试验的网站吗网络推广的渠道
  • 做网站很麻烦吗电脑培训班附近有吗
  • 青岛市建设局网站停工seocui cn
  • 医程通 网站做的太旅游seo整站优化
  • 分析网站建设前期的seo准备工作个人博客网站
  • 网站建设中期检查表怎么写百度云客服人工电话
  • 怎么做网站的关键词库南宁seo公司哪家好
  • 淘宝优惠劵网站建设郑州搜索引擎优化公司
  • 网页小说怎么下载seo网站推广教程
  • 网站集群建设和网站集约化百度关键词搜索排名多少钱
  • 大连百度首页优化seo能从搜索引擎中获得更多的
  • 家具网站开发设计任务书与执行方案十大免费软文推广平台
  • 2018网站流量怎么做百度热搜关键词排名优化