sync
sync
This guy hasn't written anything yet

注册于 2 years ago

回答
139
文章
3
关注者
3

硬件电路是485吗?1,2号从机,并联后,可以用示波器抓下波形看看,停顿2秒和不停顿直接切换波形上有无差异,排除硬件问题后,再专心调软件了

想了解原理就百度
https://blog.csdn.net/qq_20332637/article/details/82690755
想了解工作流程,直接下断点调试,配合抓包工具看数据

也可以手动新建目录,然后将分区挂载到目录下面,这是挂载lfs分区的例子

void fileinit(void)
{
    struct rt_device *mtd_dev = RT_NULL;

    /* 初始化 fal */
    fal_init();
    /* 生成 mtd 设备 */
    mtd_dev = fal_mtd_nor_device_create(FS_PARTITION1_NAME);
    if (!mtd_dev)
    {
        LOG_E("Can't create a mtd device on '%s' partition.", FS_PARTITION1_NAME);
    }
    else
    {
        /* 挂载 littlefs */
        if (dfs_mount(FS_PARTITION1_NAME, "/", "lfs", 0, 0) == 0)
        {
            LOG_I("Filesystem initialized!");
            mtd_dev = fal_mtd_nor_device_create(FS_PARTITION2_NAME);
            if (!mtd_dev)
            {
                LOG_E("Can't create a mtd device on '%s' partition.", FS_PARTITION2_NAME);
            }
            if (opendir("/c") == RT_NULL)
            {
                mkdir("c", 0);
            }
            if (dfs_mount(FS_PARTITION2_NAME, "/c", "lfs", 0, 0) == 0)
            {
                LOG_I("Onchip Filesystem initialized!");
            }

            else
            {
                /* 格式化文件系统 */
                dfs_mkfs("lfs", FS_PARTITION2_NAME);
                if (dfs_mount(FS_PARTITION2_NAME, "/c", "lfs", 0, 0) == 0)
                    LOG_I("Onchip Filesystem initialized!");
                else
                    LOG_E("Onchip Failed to initialize filesystem!");
            }
        }
        else
        {
            /* 格式化文件系统 */
            dfs_mkfs("lfs", FS_PARTITION1_NAME);
            /* 挂载 littlefs */
            if (dfs_mount(FS_PARTITION1_NAME, "/", "lfs", 0, 0) == 0)
            {
                LOG_I("Filesystem initialized!");
            }
            else
            {
                LOG_E("Failed to initialize filesystem!");
            }
        }
    }
}

应该是没有现成的pwm计数功能,需要自己添加了

多网卡是可以使用的,RW007和8720同时使用过,但没有实际使用过w5500和8720的情况

楼主参考下这里看看
https://www.rt-thread.org/document/site/application-note/components/dfs/an0027-littlefs/

 /* 初始化 fal */    
    fal_init();
    /* 生成 mtd 设备 */
    mtd_dev = fal_mtd_nor_device_create(FS_PARTITION_NAME);
    if (!mtd_dev)
    {
        LOG_E("Can't create a mtd device on '%s' partition.", FS_PARTITION_NAME);
    }
    else
    {
        /* 挂载 littlefs */
        if (dfs_mount(FS_PARTITION_NAME, "/", "lfs", 0, 0) == 0)
        {
            LOG_I("Filesystem initialized!");
        }
        else
        {
            /* 格式化文件系统 */
            dfs_mkfs("lfs", FS_PARTITION_NAME);
            /* 挂载 littlefs */
            if (dfs_mount("filesystem", "/", "lfs", 0, 0) == 0)
            {
                LOG_I("Filesystem initialized!");
            }
            else
            {
                LOG_E("Failed to initialize filesystem!");
            }
        }
    }

凡事都是一回生二回熟!缓两天,重新看过来,就发现挺好用的。嘿嘿!

刚用stm32L031做了类似锁的应用,由于flash太小,没上rtos,待机时只有rtc耗电,确实很省电,进入待机整个电路小于5ua。

回到
顶部

发布
问题

投诉
建议