将finger.fingerID发送到蓝牙

时间:2017-03-17 08:13:04

标签: arduino

我能够将一些蓝牙字符发送到我的Android设备 但在扫描我的手指并将finger.fingerID值发送到Android设备后,
只发送了一个特殊字符 所以我觉得这个值是Integer并尝试将其转换为字符,但仍然会出现一些错误 当我在这里运行我的代码时,我立即回到void setup();

   add_filter( 'woocommerce_debug_tools',  'tools' );
/**
 * Tools we add to WC
 * @param  array $tools
 * @return array
 */
function tools( $tools ) {
    $tools['delete_products'] = array(
        'name'      => __( 'Delete OutofStock Products','your-text-domain'),
        'button'    => __( 'Delete OutofStock products','your-text-domain' ),
        'desc'      => __( 'This tool will delete OutofStock .', 'your-text-domain' ),
        'callback'  => array( $this, 'delete_products' )
    );
    return $tools;
}
/**
 * Delete OutofStock Products
 */
function delete_products() {
    global $wpdb;
            $wpdb->query( "DELETE p FROM {$wpdb->posts} p join {$wpdb->postmeta} pm on p.ID = pm.post_id WHERE p.post_type = 'product' and pm.meta_key='_stock_status' and pm.meta_value='outofstock'");
    echo '<div class="updated"><p>' . sprintf( __( 'Out of stock Products Deleted', 'your-text-domain' ) ) . '</p></div>';
}

1 个答案:

答案 0 :(得分:0)

您的toChar缓冲区对于可能长度为5个字符的字符串来说太小了。你应该分配10个字节,足以容纳任何结果。

toCharArray不会对字符串进行空终止,因此即使write()单独接受以空字符结尾的字符串(它没有),它也会在字符串的末尾运行,寻找空值。 write()接受单个字符或指向char数组的指针要写入的字符数。

你不需要经历所有这些麻烦;只是打电话:

BT.print(finger.fingerID);

内置的Print类将为您处理转换混乱。