使用RT-Thread Studio DIY 迷你桌面时钟(三)| 获取NTP时间(at_device软件包 + netutils软件包)—-基于stm32f103rct6

  • Post author:
  • Post category:其他


先参考官方的文章




使用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 版权协议,转载请附上原文出处链接和本声明。