isme
isme - 认证专家
冰镇大西瓜

注册于 2年前

回答
290
文章
19
关注者
26

暂时没有,AWS是亚马逊云平台,国外用户用的较多,云平台不一样。

我实际测试了一下,用两个W80X芯片,一个当主一个当从,是可以通讯的,需要注意的是接线一一对应关系。

      主 从
MOSI PB5 PB5
CLK  PB2 PB2
MISO PB3 PB3
CS   PB4 PB4

image.png

是的,各个厂商都有,SDK里面有读写FLASH的DEMO例程

默认情况下,联网平均功耗在70MA左右,跟实际网络环境也有关系。

两种方式我都测试过了,波形都有出来呀。
image.png
image.png

问问题尽可能描述清楚,附截图log信息。demo_console发命令是注意不能勾选换行。

/***************************************************************************** 
* 
* File Name : main.c
* 
* Description: main 
* 
* Copyright (c) 2014 Winner Micro Electronic Design Co., Ltd. 
* All rights reserved. 
* 
* Author : dave
* 
* Date : 2014-6-14
*****************************************************************************/ 
#include "wm_include.h"

#define USER_TASK_QUEUE_SIZE             1
#define USER_TASK_QUEUE_TEST             0x01
static tls_os_queue_t *user_task_queue = NULL;

static OS_STK TaskStk1[512];
static OS_STK TaskStk2[512];



static void user_task1(void)
{

    while(1)
    {
        printf("---> send msg\r\n");
        // 发送队里消息
        tls_os_queue_send(user_task_queue, (void *)USER_TASK_QUEUE_TEST, 0);
        tls_os_time_delay(HZ);
    }
}

static void user_task2(void)
{
    void *msg;
    tls_os_status_t ret;

    for ( ; ; )
    {
        // 接收队里消息
        ret= tls_os_queue_receive(user_task_queue, (void **)&msg, 0, 0);
        if (ret == TLS_OS_SUCCESS)
        {
            switch((u32)msg)
            {
            case USER_TASK_QUEUE_TEST: // 收到指定的消息
                printf("---> received msg\r\n");
                break;

            default:
                break;
            }
        }
    }
}

void UserMain(void)
{
    printf("\n user task \n");
    // 创建task1用于发送队列消息
    tls_os_task_create(NULL, "task1",
                        ( void (*))user_task1,
                        NULL,
                        (void *)TaskStk1,          /* task's stack start address */
                        sizeof(TaskStk1), /* task's stack size, unit:byte */
                        31,
                        0);
    // 创建task2用于接收队里消息
    tls_os_task_create(NULL, "task2",
                        ( void (*))user_task2,
                        NULL,
                        (void *)TaskStk2,          /* task's stack start address */
                        sizeof(TaskStk2), /* task's stack size, unit:byte */
                        32,
                        0);
    // 创建消息队列
    tls_os_queue_create(&user_task_queue, USER_TASK_QUEUE_SIZE);

#if DEMO_CONSOLE
    CreateDemoTask();
#endif
//用户自己的task
}

image.png

设置中断优先级就可以了,默认硬件中断都是最高优先级,也可自行调整。

任务不要挂起,在任务里面等待信号量即可。

电源的话,分开设计会好些,地的话只有底部焊盘一个地。

发布
问题