版本协议

Public Domain

标签
专业版
#第十届立创电赛#基于RA4L1的环境检测预警系统

创建时间:2个月前

55 0

描述

<div> <p style="line-height:1.8;">注:* 为必填项</p> <p style="line-height:1.8;"><strong><span style="color:#0093e6;">请在报名阶段填写 ↓</span></strong></p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">* 1、项目功能介绍</h3> <hr> <p style="line-height:1.8;">针对工业场景中传统环境监测方案布线复杂、功耗高、数据实时性差的痛点,本项目基于瑞萨 RA4L1-KB-V1.1 评估套件,构建无线化、低功耗、多参数融合的智能监测系统。通过 DHT11 采集温湿度、ADC 接口接入有害气体传感器(如 MQ-135)采集浓度数据,利用 RA4L1 集成的段码 LCD 驱动器实现本地参数显示;外接 NB-IoT 模块通过 UART 完成数据远程传输,同时基于 GPIO 控制蜂鸣器与 LED 实现异常阈值预警。系统结合 RA4L1 低功耗模式与 RTC 定时唤醒功能,降低待机功耗,最终实现工业现场环境参数 “实时采集 - 本地可视化 - 远程上传 - 异常报警” 的全流程管理,满足电赛对实用性、创新性与稳定性的核心要求。</p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:主题不限,可以是解决生活/工作中的某个问题、为某个人群/场景设计的方案、毕业设计/课程设计/DIY项目/纯属炫酷项目等。主要讲一下自己通过什么手段解决了什么问题。</span></p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">*2、项目属性</h3> <hr> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">首次公开原创项目。</span></p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:请说明项目是否首次公开;项目是否为原创;项目是否曾经在其他比赛中获奖,若有获奖则叙述获奖详情;项目是否在学校参加过答辩。</span></p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">* 3、开源协议</h3> <hr> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">GPL3.0</span></p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:利他即利己,请认真阅读下述内容。</span></p> <ol style="line-height:1.8;"> <li style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">拥抱开源,赋予项目无限价值。建议项目核心功能开源80%以上;</span></li> <li style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">2、若某一部分功能不可替代且删掉之后项目无法解决对应的问题,则这一部分实现的功能就是项目的核心功能;比如设计了一台电子负载且设计了一款上位机软件监控功率变化,则电子负载为核心功能,上位机软件为辅助功能;比如电子负载中使用了一款隔离485模块与上位机通信,则此485模块实现的通讯功能为辅助功能; </span></li> <li style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">项目应选择适合自己的<span style="text-decoration:underline;"><a href="/posts/98fdb2accd754af7b51990790db3b47a" target="_blank">开源协议</a></span>,若项目引用其他开源项目,应注明来源并遵循原作者的开源协议规定;原创项目推荐使用GPL3.0开源协议;</span></li> <li style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">直接引用开源项目的原电路或原代码实现的功能不可作为自己项目的核心功能、使用市场上通用模块直接实现的功能不可作为自己项目的核心功能。</span></li> </ol> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"><strong><span style="color:#0093e6;">请在竞赛阶段填写 ↓</span></strong></p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">*4、硬件部分</h3> <hr> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">请输入内容…</span></p> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/IVs3yHW1NHabApifflwhxLQh29mOqDdd2FJCYkWN.png" alt="" width="694" height="606"></p> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;"> 注:请前往<span style="text-decoration:underline;"><a href="https://lceda.cn/editor" target="_blank">嘉立创EDA</a> </span>生成/上传设计文件,文件完成后,相关文稿将自动生成至项目详情;这里可以详细说明您的项目实现原理和机制、注意事项、调试方法、测试方法等。推荐图文并茂的形式向别人介绍您的想法。 </span></p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">*5、软件部分</h3> <hr> <table style="border-collapse:collapse;width:99.9717%;"> <tr> <td style="width:98.6698%;"> <div style="background-color:#1e1f22;padding:0px 0px 0px 2px;"> <div style="color:#cccccc;background-color:#1e1f22;font-family:Consolas;font-size:10pt;white-space:pre;"> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">#include</span><span style="color:#d9e8f7;"> </span><span style="color:#17c6a3;">"hal_data.h"</span></p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">#include</span><span style="color:#d9e8f7;"> </span><span style="color:#17c6a3;"></span></p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">#include</span><span style="color:#d9e8f7;"> </span><span style="color:#17c6a3;"></span></p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">#include</span><span style="color:#d9e8f7;"> </span><span style="color:#17c6a3;"></span></p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">#include</span><span style="color:#d9e8f7;"> </span><span style="color:#17c6a3;">"dht11.h"</span></p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">#include</span><span style="color:#d9e8f7;"> </span><span style="color:#17c6a3;">"uart1.h"</span><span style="color:#d9e8f7;"> </span><span style="color:#626262;">// 引入 UART1 头文件</span></p> <p style="margin:0;"> </p> <p style="margin:0;"><span style="color:#d9e8f7;">FSP_CPP_HEADER</span></p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">void</span><span style="color:#d9e8f7;"> </span><span style="color:#0dd140;font-weight:bold;">R_BSP_WarmStart</span><span style="color:#f9faf4;">(</span><span style="color:#1290c3;font-weight:bold;">bsp_warm_start_event_t</span><span style="color:#d9e8f7;"> </span><span style="color:#79abff;">event</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;">FSP_CPP_FOOTER</span></p> <p style="margin:0;"> </p> <p style="margin:0;"><span style="color:#626262;">// 全局变量:用于 UART 发送完成标志</span></p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">volatile</span><span style="color:#d9e8f7;"> bool uart_send_complete_flag </span><span style="color:#e6e6fa;">=</span><span style="color:#d9e8f7;"> false</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#626262;">//温湿度变量定义</span></p> <p style="margin:0;"><span style="color:#1290c3;font-weight:bold;">uint8_t</span><span style="color:#d9e8f7;"> humdity_integer</span><span style="color:#e6e6fa;">;</span><span style="color:#626262;">//湿度整数</span></p> <p style="margin:0;"><span style="color:#1290c3;font-weight:bold;">uint8_t</span><span style="color:#d9e8f7;"> humdity_decimal</span><span style="color:#e6e6fa;">;</span><span style="color:#626262;">//湿度小数</span></p> <p style="margin:0;"><span style="color:#1290c3;font-weight:bold;">uint8_t</span><span style="color:#d9e8f7;"> temp_integer </span><span style="color:#e6e6fa;">;</span><span style="color:#626262;">//温度整数</span></p> <p style="margin:0;"><span style="color:#1290c3;font-weight:bold;">uint8_t</span><span style="color:#d9e8f7;"> temp_decimal </span><span style="color:#e6e6fa;">;</span><span style="color:#626262;">//温度小数</span></p> <p style="margin:0;"><span style="color:#1290c3;font-weight:bold;">uint8_t</span><span style="color:#d9e8f7;"> dht11_check </span><span style="color:#e6e6fa;">;</span><span style="color:#626262;">//校验值</span></p> <p style="margin:0;"> </p> <p style="margin:0;"><span style="color:#626262;">// 函数声明</span></p> <p style="margin:0;"><span style="color:#626262;">// -------------------------- 函数声明(补充UART1回调和接收函数)--------------------------</span></p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">void</span><span style="color:#d9e8f7;"> </span><span style="color:#0dd140;font-weight:bold;">user_uart9_callback</span><span style="color:#f9faf4;">(</span><span style="color:#1290c3;font-weight:bold;">uart_callback_args_t</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">*</span><span style="color:#d9e8f7;"> </span><span style="color:#79abff;">p_args</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span><span style="color:#d9e8f7;"> </span><span style="color:#626262;">// 改名:明确为UART9的回调</span></p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">int</span><span style="color:#d9e8f7;"> </span><span style="color:#0dd140;font-weight:bold;">__io_putchar</span><span style="color:#f9faf4;">(</span><span style="color:#dd2867;font-weight:bold;">int</span><span style="color:#d9e8f7;"> </span><span style="color:#79abff;">ch</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">int</span><span style="color:#d9e8f7;"> </span><span style="color:#0dd140;font-weight:bold;">_write</span><span style="color:#f9faf4;">(</span><span style="color:#dd2867;font-weight:bold;">int</span><span style="color:#d9e8f7;"> </span><span style="color:#79abff;">fd</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">char</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">*</span><span style="color:#79abff;">pBuffer</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">int</span><span style="color:#d9e8f7;"> </span><span style="color:#79abff;">size</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"> </p> <p style="margin:0;"> </p> <p style="margin:0;"><span style="color:#626262;">// UART 回调函数</span></p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">void</span><span style="color:#d9e8f7;"> </span><span style="color:#0dd140;font-weight:bold;">user_uart_callback</span><span style="color:#f9faf4;">(</span><span style="color:#1290c3;font-weight:bold;">uart_callback_args_t</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">*</span><span style="color:#d9e8f7;"> </span><span style="color:#79abff;">p_args</span><span style="color:#f9faf4;">)</span></p> <p style="margin:0;"><span style="color:#f9faf4;">{</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">if</span><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">(</span><span style="color:#79abff;">p_args</span><span style="color:#e6e6fa;">-></span><span style="color:#66e1f8;">event</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">==</span><span style="color:#d9e8f7;"> </span><span style="color:#8ddaf8;font-style:italic;">UART_EVENT_TX_COMPLETE</span><span style="color:#f9faf4;">)</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">{</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> uart_send_complete_flag </span><span style="color:#e6e6fa;">=</span><span style="color:#d9e8f7;"> true</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">}</span></p> <p style="margin:0;"><span style="color:#f9faf4;">}</span></p> <p style="margin:0;"> </p> <p style="margin:0;"><span style="color:#626262;">// 重定向 </span><span style="color:#626262;text-decoration:underline;">printf</span><span style="color:#626262;"> 到 UART</span></p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">#ifdef</span><span style="color:#d9e8f7;"> __GNUC__</span></p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">int</span><span style="color:#d9e8f7;"> </span><span style="color:#0dd140;font-weight:bold;">__io_putchar</span><span style="color:#f9faf4;">(</span><span style="color:#dd2867;font-weight:bold;">int</span><span style="color:#d9e8f7;"> </span><span style="color:#79abff;">ch</span><span style="color:#f9faf4;">)</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#dd2867;font-weight:bold;">#else</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#dd2867;font-weight:bold;">int</span><span style="color:#d9e8f7;"> fputc</span><span style="color:#f9faf4;">(</span><span style="color:#dd2867;font-weight:bold;">int</span><span style="color:#d9e8f7;"> ch</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> FILE </span><span style="color:#e6e6fa;">*</span><span style="color:#d9e8f7;">f</span><span style="color:#f9faf4;">)</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#dd2867;font-weight:bold;">#endif</span></p> <p style="margin:0;"><span style="color:#f9faf4;">{</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#1290c3;font-weight:bold;">fsp_err_t</span><span style="color:#d9e8f7;"> </span><span style="color:#ed7f48;">err</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">=</span><span style="color:#d9e8f7;"> </span><span style="color:#a7ec21;font-weight:bold;">R_SCI_UART_Write</span><span style="color:#f9faf4;">(</span><span style="color:#e6e6fa;">&</span><span style="color:#d9e8f7;">g_uart9_ctrl</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">(</span><span style="color:#1290c3;font-weight:bold;">uint8_t</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">*</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">&</span><span style="color:#79abff;">ch</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> </span><span style="color:#6897bb;">1</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">if</span><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">(</span><span style="color:#8ddaf8;font-style:italic;">FSP_SUCCESS</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">!=</span><span style="color:#d9e8f7;"> </span><span style="color:#ffbf26;">err</span><span style="color:#f9faf4;">)</span><span style="color:#d9e8f7;"> __BKPT</span><span style="color:#f9faf4;">()</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">while</span><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">(</span><span style="color:#e6e6fa;">!</span><span style="color:#d9e8f7;">uart_send_complete_flag</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> uart_send_complete_flag </span><span style="color:#e6e6fa;">=</span><span style="color:#d9e8f7;"> false</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">return</span><span style="color:#d9e8f7;"> </span><span style="color:#79abff;">ch</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#f9faf4;">}</span></p> <p style="margin:0;"> </p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">int</span><span style="color:#d9e8f7;"> </span><span style="color:#0dd140;font-weight:bold;">_write</span><span style="color:#f9faf4;">(</span><span style="color:#dd2867;font-weight:bold;">int</span><span style="color:#d9e8f7;"> </span><span style="color:#79abff;">fd</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">char</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">*</span><span style="color:#79abff;">pBuffer</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">int</span><span style="color:#d9e8f7;"> </span><span style="color:#79abff;">size</span><span style="color:#f9faf4;">)</span></p> <p style="margin:0;"><span style="color:#f9faf4;">{</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">(</span><span style="color:#dd2867;font-weight:bold;">void</span><span style="color:#f9faf4;">)</span><span style="color:#79abff;">fd</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">for</span><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">(</span><span style="color:#dd2867;font-weight:bold;">int</span><span style="color:#d9e8f7;"> </span><span style="color:#ed7f48;">i</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">=</span><span style="color:#d9e8f7;"> </span><span style="color:#6897bb;">0</span><span style="color:#e6e6fa;">;</span><span style="color:#d9e8f7;"> </span><span style="color:#ffbf26;">i</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;"><</span><span style="color:#d9e8f7;"> </span><span style="color:#79abff;">size</span><span style="color:#e6e6fa;">;</span><span style="color:#d9e8f7;"> </span><span style="color:#ffbf26;">i</span><span style="color:#e6e6fa;">++</span><span style="color:#f9faf4;">)</span><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">{</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#a7ec21;font-weight:bold;">__io_putchar</span><span style="color:#f9faf4;">(</span><span style="color:#e6e6fa;">*</span><span style="color:#79abff;">pBuffer</span><span style="color:#e6e6fa;">++</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">}</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">return</span><span style="color:#d9e8f7;"> </span><span style="color:#79abff;">size</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#f9faf4;">}</span></p> <p style="margin:0;"> </p> <p style="margin:0;"><span style="color:#626262;">// -------------------------- 主函数(修改UART1初始化和应用逻辑)--------------------------</span></p> <p style="margin:0;"><span style="color:#626262;">// 主函数</span></p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">void</span><span style="color:#d9e8f7;"> </span><span style="color:#0dd140;font-weight:bold;">hal_entry</span><span style="color:#f9faf4;">(</span><span style="color:#dd2867;font-weight:bold;">void</span><span style="color:#f9faf4;">)</span></p> <p style="margin:0;"><span style="color:#f9faf4;">{</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#1290c3;font-weight:bold;">fsp_err_t</span><span style="color:#d9e8f7;"> </span><span style="color:#ed7f48;">err</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#a7ec21;font-weight:bold;">R_IOPORT_PinWrite</span><span style="color:#f9faf4;">(</span><span style="color:#e6e6fa;">&</span><span style="color:#d9e8f7;">g_ioport_ctrl</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> </span><span style="color:#8ddaf8;font-style:italic;">BSP_IO_PORT_03_PIN_01</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> </span><span style="color:#8ddaf8;font-style:italic;">BSP_IO_LEVEL_HIGH</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#a7ec21;font-weight:bold;">R_BSP_SoftwareDelay</span><span style="color:#f9faf4;">(</span><span style="color:#6897bb;">1000</span><span style="color:#d9e8f7;">U</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> </span><span style="color:#8ddaf8;font-style:italic;">BSP_DELAY_UNITS_MILLISECONDS</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"> </p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#626262;">// 初始化 UART</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#ffbf26;">err</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">=</span><span style="color:#d9e8f7;"> </span><span style="color:#a7ec21;font-weight:bold;">R_SCI_UART_Open</span><span style="color:#f9faf4;">(</span><span style="color:#e6e6fa;">&</span><span style="color:#d9e8f7;">g_uart9_ctrl</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">&</span><span style="color:#d9e8f7;">g_uart9_cfg</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> assert</span><span style="color:#f9faf4;">(</span><span style="color:#8ddaf8;font-style:italic;">FSP_SUCCESS</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">==</span><span style="color:#d9e8f7;"> </span><span style="color:#ffbf26;">err</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"> </p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#96ec3f;font-weight:bold;">printf</span><span style="color:#f9faf4;">(</span><span style="color:#17c6a3;">"UART9 initialized.\n"</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"> </p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#626262;">// -------------------------- UART1 初始化(新增:打开+启动接收)--------------------------</span></p> <p style="margin:0;"> </p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#ffbf26;">err</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">=</span><span style="color:#d9e8f7;"> </span><span style="color:#a7ec21;font-weight:bold;">uart1_init</span><span style="color:#f9faf4;">()</span><span style="color:#e6e6fa;">;</span><span style="color:#d9e8f7;"> </span><span style="color:#626262;">// 内部已包含 Open 和启动接收</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">if</span><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">(</span><span style="color:#ffbf26;">err</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">!=</span><span style="color:#d9e8f7;"> </span><span style="color:#8ddaf8;font-style:italic;">FSP_SUCCESS</span><span style="color:#f9faf4;">)</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">{</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#96ec3f;font-weight:bold;">printf</span><span style="color:#f9faf4;">(</span><span style="color:#17c6a3;">"UART1 </span><span style="color:#17c6a3;text-decoration:underline;">init</span><span style="color:#17c6a3;"> failed, err=%d\n"</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> </span><span style="color:#ffbf26;">err</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">while</span><span style="color:#f9faf4;">(</span><span style="color:#6897bb;">1</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">}</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#96ec3f;font-weight:bold;">printf</span><span style="color:#f9faf4;">(</span><span style="color:#17c6a3;">"UART1 initialized.\n"</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">while</span><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">(</span><span style="color:#6897bb;">1</span><span style="color:#f9faf4;">)</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">{</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#a7ec21;font-weight:bold;">R_BSP_SoftwareDelay</span><span style="color:#f9faf4;">(</span><span style="color:#6897bb;">3000</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> </span><span style="color:#8ddaf8;font-style:italic;">BSP_DELAY_UNITS_MILLISECONDS</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#a7ec21;font-weight:bold;">DHT11_Read</span><span style="color:#f9faf4;">()</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#96ec3f;font-weight:bold;">printf</span><span style="color:#f9faf4;">(</span><span style="color:#17c6a3;">"hum=%d </span><span style="color:#17c6a3;text-decoration:underline;">temp</span><span style="color:#17c6a3;">=%d\n"</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;">humdity_integer</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;">temp_integer</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#626262;">// 通过 UART1 发送温湿度信息</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">char</span><span style="color:#d9e8f7;"> </span><span style="color:#ed7f48;">uart1_msg</span><span style="color:#f9faf4;">[</span><span style="color:#6897bb;">64</span><span style="color:#f9faf4;">]</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#96ec3f;font-weight:bold;">sprintf</span><span style="color:#f9faf4;">(</span><span style="color:#ffbf26;">uart1_msg</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> </span><span style="color:#17c6a3;">"UART1: HUM=%d%%, TEMP=%dC\r\n"</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> humdity_integer</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> temp_integer</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#a7ec21;font-weight:bold;">uart1_send_string</span><span style="color:#f9faf4;">(</span><span style="color:#ffbf26;">uart1_msg</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">if</span><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">(</span><span style="color:#d9e8f7;">uart1_rx_done_flag</span><span style="color:#f9faf4;">)</span><span style="color:#d9e8f7;"> </span><span style="color:#626262;">// 接收完成标志(在 uart1.h 中定义)</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">{</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#626262;">// 回显接收到的数据(示例)</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#a7ec21;font-weight:bold;">uart1_send_string</span><span style="color:#f9faf4;">(</span><span style="color:#17c6a3;">"UART1 RX: "</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#a7ec21;font-weight:bold;">uart1_send_string</span><span style="color:#f9faf4;">((</span><span style="color:#dd2867;font-weight:bold;">char</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">*</span><span style="color:#f9faf4;">)</span><span style="color:#d9e8f7;">uart1_rx_buf</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#a7ec21;font-weight:bold;">uart1_send_string</span><span style="color:#f9faf4;">(</span><span style="color:#17c6a3;">"\r\n"</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#626262;">// 清空缓冲区,准备下次接收</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#a7ec21;font-weight:bold;">uart1_clear_rx_buf</span><span style="color:#f9faf4;">()</span><span style="color:#e6e6fa;">;</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">}</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">}</span></p> <p style="margin:0;"> </p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#dd2867;font-weight:bold;">#if</span><span style="color:#d9e8f7;"> BSP_TZ_SECURE_BUILD</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#d9e8f7;"> R_BSP_NonSecureEnter</span><span style="color:#f9faf4;">()</span><span style="color:#e6e6fa;">;</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#dd2867;font-weight:bold;">#endif</span></p> <p style="margin:0;"><span style="color:#f9faf4;">}</span></p> <p style="margin:0;"> </p> <p style="margin:0;"><span style="color:#626262;">// FSP 启动回调</span></p> <p style="margin:0;"><span style="color:#dd2867;font-weight:bold;">void</span><span style="color:#d9e8f7;"> </span><span style="color:#0dd140;font-weight:bold;">R_BSP_WarmStart</span><span style="color:#f9faf4;">(</span><span style="color:#1290c3;font-weight:bold;">bsp_warm_start_event_t</span><span style="color:#d9e8f7;"> </span><span style="color:#79abff;">event</span><span style="color:#f9faf4;">)</span></p> <p style="margin:0;"><span style="color:#f9faf4;">{</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">if</span><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">(</span><span style="color:#8ddaf8;font-style:italic;">BSP_WARM_START_RESET</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">==</span><span style="color:#d9e8f7;"> </span><span style="color:#79abff;">event</span><span style="color:#f9faf4;">)</span><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">{</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#dd2867;font-weight:bold;">#if</span><span style="color:#d9e8f7;"> BSP_FEATURE_FLASH_LP_VERSION != 0</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#d9e8f7;"> R_FACI_LP</span><span style="color:#e6e6fa;">-></span><span style="color:#d9e8f7;">DFLCTL </span><span style="color:#e6e6fa;">=</span><span style="color:#d9e8f7;"> </span><span style="color:#6897bb;">1</span><span style="color:#d9e8f7;">U</span><span style="color:#e6e6fa;">;</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#dd2867;font-weight:bold;">#endif</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">}</span></p> <p style="margin:0;"> </p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#dd2867;font-weight:bold;">if</span><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">(</span><span style="color:#8ddaf8;font-style:italic;">BSP_WARM_START_POST_C</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">==</span><span style="color:#d9e8f7;"> </span><span style="color:#79abff;">event</span><span style="color:#f9faf4;">)</span><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">{</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#a7ec21;font-weight:bold;">R_IOPORT_Open</span><span style="color:#f9faf4;">(</span><span style="color:#e6e6fa;">&</span><span style="color:#d9e8f7;">IOPORT_CFG_CTRL</span><span style="color:#e6e6fa;">,</span><span style="color:#d9e8f7;"> </span><span style="color:#e6e6fa;">&</span><span style="color:#d9e8f7;">IOPORT_CFG_NAME</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#dd2867;font-weight:bold;">#if</span><span style="color:#d9e8f7;"> BSP_CFG_SDRAM_ENABLED</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#d9e8f7;"> R_BSP_SdramInit</span><span style="color:#f9faf4;">(</span><span style="color:#d9e8f7;">true</span><span style="color:#f9faf4;">)</span><span style="color:#e6e6fa;">;</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#dd2867;font-weight:bold;">#endif</span></p> <p style="margin:0;"><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">}</span></p> <p style="margin:0;"><span style="color:#f9faf4;">}</span></p> <p style="margin:0;"> </p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#dd2867;font-weight:bold;">#if</span><span style="color:#d9e8f7;"> BSP_TZ_SECURE_BUILD</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#d9e8f7;">FSP_CPP_HEADER</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#d9e8f7;">BSP_CMSE_NONSECURE_ENTRY </span><span style="color:#dd2867;font-weight:bold;">void</span><span style="color:#d9e8f7;"> template_nonsecure_callable</span><span style="color:#f9faf4;">()</span><span style="color:#e6e6fa;">;</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#d9e8f7;">BSP_CMSE_NONSECURE_ENTRY </span><span style="color:#dd2867;font-weight:bold;">void</span><span style="color:#d9e8f7;"> template_nonsecure_callable</span><span style="color:#f9faf4;">()</span><span style="color:#d9e8f7;"> </span><span style="color:#f9faf4;">{}</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#d9e8f7;">FSP_CPP_FOOTER</span></p> <p style="background-color:#1e1e1e;margin:0;"><span style="color:#dd2867;font-weight:bold;">#endif</span></p> <p style="margin:0;"> </p> </div> </div> </td> </tr> </table> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:若您的项目涉及软件开发,请在附件上传对应的工程源码。这里可以详细说明您的软件流程图、功能模块框图、相关算法的解释或科普、源码结构、编译环境的搭建和配置、源码编译方法、程序烧录方法等。推荐图文并茂的形式向别人介绍您的想法。</span></p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">*6、BOM清单</h3> <hr> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">请输入内容…</span></p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:项目涉及的BOM清单。在<span style="text-decoration:underline;"><a href="https://lceda.cn/editor" target="_blank">嘉立创EDA</a> </span>生成/上传设计文件后,BOM将自动生成至项目详情;建议包括型号、品牌、名称、封装、采购渠道、用途等内容。具体内容和形式应以表达清楚项目构成为准。 </span></p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">*7、大赛LOGO验证</h3> <hr> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">请上传包含大赛logo的项目图片,logo以丝印形式印刷在PCB上面。</span></p> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">点击zip下载大赛logo标识! <span style="text-decoration:underline;"><a href="https://image.lceda.cn/easyedaResource/images/d1bbfd69f9404f56901a0e7b849b7245.rar" target="_blank">(大赛标识).zip</a></span></span></p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">* 8、演示您的项目并录制成视频上传</h3> <hr> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">视频要求:请横屏拍摄,分辨率不低于1280×720,格式Mp4/Mov,单个视频大小限100M内;</span></p> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">视频标题:立创电赛:{项目名称}-{视频模块名称};如立创电赛:《自动驾驶》-团队介绍。</span></p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"><span style="font-size:14px;"><a href="/posts/42551e8f2f2548cabc1c36626a42da94" target="_blank">前往查看更多详情 ></a></span></p> <p style="line-height:1.8;"> </p> </div>

文档

BOM

暂无

附件

附件名 下载
RA4L1_Project1.zip

评论(1)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
立创电赛 回复
<p>[emojis:打招呼]加油更新</p>
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow