识别特定颜色并将其坐标通过串口打印

文章目录

  • 前言
  • IDE
  • 探索
  • Openmv代码

前言

虽然买的openmv还没到,但学习的过程是可以随时修改的。 本文在此提示,以下并未进行验证,待验证之后会进行修改。

IDE

Openmv IDE【中文版】

探索

  • 关于openmv与单片机之间串口通信移步STM32单片机/OpenMv的串口通信部分着重讲了openmv部分,下面补充一下单片机部分
  • 博主用的STM32F4探索者系列,主要实践了一下JSON的编解码,除了上个博客的Jansson官方库之外,又找到了另一个更方便操作的库cJSON,嗯,发现他之后 后面的一切就 (pi) (shi) (mei) (you)了
    直接上部分代码:
static const char *parse_object( cJSON *item, const char *value )
{
    cJSON *child;
    if ( *value != '{' )
    {
        ep = value; return(0);
    }                               /* not an object! */

    item->type    = cJSON_Object;
    value        = skip( value + 1 );
    if ( *value == '}' )
        return(value + 1);      /* empty array. */

    item->child = child = cJSON_New_Item();
    if ( !item->child )
        return(0);
    value = skip( parse_string( child, skip( value )));
    if ( !value )
        return(0);
    child->string = child->valuestring; child->valuestring = 0;
    if ( *value != ':' )
    {
        ep = value; return(0);
    }                                                               /* fail! */
    value = skip( parse_value( child, skip( value + 1 )));        /* skip any spacing, get the value. */
    if ( !value )
        return(0);

    while ( *value == ',' )
    {
        cJSON *new_item;
        if ( !(new_item = cJSON_New_Item()))
            return(0);            /* memory fail */
        child->next    = new_item; new_item->prev = child; child = new_item;
        value        = skip( parse_string( child, skip( value + 1 )));
        if ( !value )
            return(0);
        child->string = child->valuestring; child->valuestring = 0;
        if ( *value != ':' )
        {
            ep = value; return(0);
        }                                                               /* fail! */
        value = skip( parse_value( child, skip( value + 1 )));        /* skip any spacing, get the value. */
        if ( !value )
            return(0);
    }

    if ( *value == '}' )
        return(value + 1);                                              /* end of array */
    ep = value; return(0);                                                  /* malformed. */
}


Openmv代码

点此下载

你可能感兴趣的:(openmv)