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

东莞市电商网站建设做室内概念图的网站

东莞市电商网站建设,做室内概念图的网站,有哪些小公司网站,网页价格是什么意思MCU型号:STM32F103RET6 一.配置软件模拟RTC 1.生成一个带串口输出的工程文件,新建RT-Thread项目工程文件。 2.查看电路图中的串口输出管脚,根据STMCubeMx软件可知此串口为USART1,选择芯片型号为STM32F103RET6,控制台…

MCU型号:STM32F103RET6

一.配置软件模拟RTC

1.生成一个带串口输出的工程文件,新建RT-Thread项目工程文件。
在这里插入图片描述
2.查看电路图中的串口输出管脚,根据STMCubeMx软件可知此串口为USART1,选择芯片型号为STM32F103RET6,控制台串口选择UART1,发送脚:PB6,接收脚:PB7
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
3.设置下载bin文件的下载地址为:0x08000000。
在这里插入图片描述
4.代码编译后下载到电路板,连上串口调试助手可看到调试信息。
在这里插入图片描述
5.打开RT-Thread Settings设置设备驱动中的软件模拟RTC,RTC设置如图所示,设置完成之后,记得保存,否则设置无效。
在这里插入图片描述
实际上是将soft_rtc.c文件添加到工程中编译,并将宏定义RT_USING_SOFT_RTC打开。
在这里插入图片描述
6.增加rtc的初始化代码rtc_app.h和rtc_app_c,以及修改main函数中的代码。

rtc_app.h

#ifndef APPLICATIONS_RTC_APP_H_
#define APPLICATIONS_RTC_APP_H_int rtc_init(void);#endif /* APPLICATIONS_RTC_APP_H_ */

rtc_app.c

#include <rtthread.h>
#include <rtdevice.h>#define RTC_NAME       "rtc"#define DBG_TAG "rtc"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>int rtc_init(void)
{rt_err_t ret = RT_EOK;rt_device_t device = RT_NULL;/*寻找设备*/device = rt_device_find(RTC_NAME);if (!device){LOG_E("find %s failed!", RTC_NAME);return RT_ERROR;}/*初始化RTC设备*/if(rt_device_open(device, 0) != RT_EOK){LOG_E("open %s failed!", RTC_NAME);return RT_ERROR;}ret = set_date(2025, 5, 6);if (ret != RT_EOK){rt_kprintf("set RTC date failed\n");return ret;}/* 设置时间 */ret = set_time(9, 15, 50);if (ret != RT_EOK){rt_kprintf("set RTC time failed\n");return ret;}return ret;
}

main.c

#include <rtthread.h>#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>#include <rtdevice.h>
extern int rtc_init(void);int main(void)
{int count = 1;time_t now;rtc_init();while (count++){/* 延时3秒 */rt_thread_mdelay(3000);/* 获取时间 */now = time(RT_NULL);rt_kprintf("%s\n", ctime(&now));
//        LOG_D("Hello RT-Thread!");
//        rt_thread_mdelay(1000);}return RT_EOK;
}

7.由于RT Thread stdio创建工程的时候使用的是内部晶振,所以需要将其修改为外部晶振,查看原理图的外部晶振大小。

在这里插入图片描述
8.打开CubeMx_Settings配置外部晶振,配置sys。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
生成工程后查看drv_clk.c文件可查看到clk_init函数内容已做修改。
在这里插入图片描述
9.将stmf1xx_hal_conf.h中的HAL_UART_MODULE_ENABLED,HAL_USART_MODULE_ENABLED宏定义打开。
在这里插入图片描述
10.编译程序,烧录到芯片中,查看串口日志,可查看到间隔3秒变化一次rtc时间。
在这里插入图片描述
二.配置硬件RTC

1.接上面的工程例子,取消勾选软件模拟RTC选项
在这里插入图片描述
2.在board.h中开启BSP_USING_ONCHIP_RTC宏定义,由于电路图中没有LSE晶振,故这里使用LSI内部晶振,开启BSP_RTC_USING_LSI宏定义。
在这里插入图片描述
3.由于drv_rtc.c文件中的rt_hw_rtc_register()函数和rtc.c中的rt_hw_rtc_register()函数存在冲突,所以需要删除掉rtc.h和rtc.c文件中的rt_hw_rtc_register()函数。
在这里插入图片描述
在这里插入图片描述
4.配置硬件RTC,打开CubeMX_Settings配置RTC
在这里插入图片描述
在这里插入图片描述
5.由于重新配置了CubeMx,所以需要重新打开宏定义HAL_UART_MODULE_ENABLED和HAL_USART_MODULE_ENABLED
在这里插入图片描述
6.编译后烧录到电路板中,会出现"RTC hasn’t been configured, please use command to config.",是因为未设置时间,可以调用set_rtc_time_stamp(time_t time_stamp)函数设置。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/470397.html

相关文章:

  • PowerShell 递归目录文件名冲突检查脚本(不区分大小写)
  • STM32项目分享:基于STM32的泳池防溺水检测手环
  • 权威解析GEO优化:如何提升品牌在AI搜索中的曝光?
  • C语言与Java语言编译过程及文件类型
  • 基于SpringBoot的农产品(商城)销售系统
  • 有名的网站建设wordpress博客站模板下载
  • 网站打不开如何解决深圳企业网站建设服务中心
  • 专业的论坛网站建设开发wordpress静态化
  • hive的一些优化配置
  • 做网站一屏一屏的盖州网站建设
  • 佳木斯建设工程交易中心网站在龙港网站哪里做
  • 工具收集 - ContextMenuManager 右键管理
  • 【软件设计师中级】计算机组成与结构(六):系统性能评测与可靠性基础 - 衡量计算机的“尺子“与“保险“
  • 当游戏NPC有了“灵魂”,网易伏羲解码游戏智能交互场景新实践
  • 热更新:移动应用的“空中加油”技术-详解什么是热更新?-优雅草卓伊凡卓伊凡的挑战
  • 【GD32】软、硬件I2C对比
  • YMODEM 协议介绍以及通信流程分析和Lua语言实现
  • 视频直播点播平台EasyDSS如何助力餐饮行业实现“明厨亮灶”直播?
  • 通过网站做外贸广告公司有哪些
  • 关于网站建设的好处seo搜索优化邵阳
  • 百家号淄博圻谷网站建设做网站页面一般用什么软件
  • CCF-GESP 等级考试 2024年3月认证C++三级真题解析
  • 本地部署 DeepSeek 私有助手:从零到上线的完整方案
  • CTF攻防世界WEB精选基础入门:weak_auth
  • 石家庄网站建设蓝点公路建设网站
  • 免费制作网页的网站企业app定制开发公司
  • 若依框架Springboot开发开放接口供他人调用
  • 在Centos上安装Python指定版本
  • 体育赛事 APP 开发:从技术到体验的全方位突破
  • 【阿里云】记一次oss攻击