Show post excerpt

One option would be to use substr in your function:

function my_excerpt($limit) {
    $excerpt = get_the_excerpt();
    if(strlen($excerpt) > $limit) {
        // trim to $limit characters
        $excerpt = substr($excerpt, 0, $limit);
        // remove any truncated words
        $excerpt = substr($excerpt, 0, strippos($excerpt, " "));
        $excerpt = trim(preg_replace('/\s+/', ' ', $excerpt));
    }
    return $excerpt;
}

Another way is to filter the excerpt, which will change the length of all your excerpts sitewide:

add_filter('excerpt_length', 'my_excerpt_length');
function my_excerpt_length($length) {
    return 30;
}