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

做网站工具做杂志的模板下载网站有哪些

做网站工具,做杂志的模板下载网站有哪些,网站模版整站下载,投资公司注册资金要求【瑞萨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/592340.html

相关文章:

  • 湖南网站推广电话电子商务网站软件平台
  • 公司注销的网站备案做网站都需要年服务费吗
  • 网站开发公司资质江西网站备案
  • 西宁做网站_君博相约编写软件的软件
  • 关于机场建设的网站网页制作与设计怎么设置圆角
  • 网站建设环境搭建心得体会dremwear做网站
  • 玩具外贸网站模板搜索引擎原理
  • 温州网站搭建公司软件开发网站建设维护
  • 什么样的网站开发比较吃香怎么查看网站的ftp
  • 网站建设及维护业务服务合同如何做网站公众号推广
  • 网站降权的表现肇庆广宁住房和城乡建设部网站
  • 规划网站需要几个步骤河南最新政策
  • 品牌的品牌推广设计百度网络优化推广公司
  • 协作网站是什么网站建设为什么有些100元的
  • 乐清网站建设公司哪家好江西建筑人才网
  • 重庆网站APP网站域名如何从代理商那里转出来
  • flash网站策划书保定网站推广公司
  • 密云建站推广网站后台编辑器内容不显示
  • 大连 网站维护网站推广实施方案
  • 好网站推荐昌吉网站建设公司
  • 网站开发团队名称支付网站开发
  • 聚化网网站平台销售模式有哪些
  • 北京做的比较好的网站公司中装建设吧
  • 不同域名一样的网站网站服务器设置
  • 网站做的好坏主要看网站建设都包含什么步骤
  • 网站域解析查询厦门网站建设2
  • 官方网站开发方案网站主办单位负责人
  • 桐乡网站开发室内设计培训价格
  • 驻马店建设网站如何在百度举报网站
  • 如何做网站 优帮云江西省网站建设先进表彰