先参考官方的文章
使用RT-Thread Studio DIY 迷你桌面时钟(三)| 获取NTP时间(at_device软件包 + netutils软件包)_Mculover666的博客-CSDN博客
1. 项目进度桌面Mini时钟项目用来演示如何使用RT-Thread Stduio开发项目,整个项目的架构如下:在上一篇博文中简单的介绍了RT-Thread Studio一站式工具,基于STM32L431RCT6这个芯片创建工程,并修改时钟为使用外部时钟。使用RT-Thread Studio DIY 迷你桌面时钟(一)| 基于STM32芯片创建工程使用RT-Thread Studio …
https://blog.csdn.net/Mculover666/article/details/104418075
2.2里边这个WiFi密码名称改成你手机热点的密码名称,不要傻乎乎的写那几个
3.4直接复制我的主函数代码就行
#include <rtthread.h>
#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
#include <drv_soft_i2c.h>
/3.4以后定义
#include <arpa/inet.h> /* 包含 ip_addr_t 等地址相关的头文件 */
#include <netdev.h> /* 包含全部的 netdev 相关操作接口函数 */
//#define netdev_is_internet_up(netdev)
struct netdev *netdev_get_by_name(const char *name);
#include <ntp.h>
/
#define BSP_USING_12C1
extern int sht30_collect(void);
//注册到系统中,自动初始化设备
//INIT_BOARD_EXPORT(register_i2c);
//获取网卡对象
int register_i2c(void)
{
rt_hw_i2c_init();
return RT_EOK;
}
int main(void)
{
struct netdev* net = netdev_get_by_name("esp0");
//阻塞判断当前网络是否正常连接
while(netdev_is_internet_up(net) != 1)
{
rt_thread_mdelay(200);
}
//提示当前网络已就绪
rt_kprintf("network is ok!\n");
//NTP自动对时
time_t cur_time;
cur_time = ntp_sync_to_rtc(NULL);
if (cur_time)
{
rt_kprintf("Cur Time: %s", ctime((const time_t*) &cur_time));
}
else
{
rt_kprintf("NTP sync fail.\n");
}
int count = 5;
//sht30_collect();
while (count--)
{
// LOG_D("Hello RT-Thread!");
rt_thread_mdelay(1000);
}
return RT_EOK;
}
版权声明:本文为qq_43683669原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。