91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-09
  • 語言: 其他
  • 標簽: pixhawk??pix??uart??串口??

資源簡介

自定義uart的數據并發送到pixhawk,pixhawk能夠傳到qgc上

資源截圖

代碼片段和文件信息

/*
?*?read_uart_sensor.c
?*?
?*?read?sensor?through?uart
?*/

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
//?#include?
#include?
#include?nk_log.h>
#include?

#include?


__EXPORT?int?read_uart_sensor_main(int?argc?char?*argv[]);


static?bool?thread_should_exit?=?false;?/*Ddemon?exit?flag*/
static?bool?thread_running?=?false;??/*Daemon?status?flag*/
static?int?daemon_task;
struct?uart_pos_s?uart_data;
orb_advert_t?mavlink_uart_pub?;
orb_advert_t?uart_pub;
/**
?*?Main?loop
?*/
int?read_uart_thread_main(int?argc?char?*argv[]);
int?read_uart(char?data);

static?int?uart_init(const?char?*?uart_name);
static?int?set_uart_baudrate(const?int?fd?unsigned?int?baud);
static?void?usage(const?char?*reason);

int?set_uart_baudrate(const?int?fd?unsigned?int?baud)
{
????int?speed;

????switch?(baud)?{
????????case?9600:???speed?=?B9600;???break;
????????case?19200:??speed?=?B19200;??break;
????????case?38400:??speed?=?B38400;??break;
????????case?57600:??speed?=?B57600;??break;
????????case?115200:?speed?=?B115200;?break;
????????default:
????????????warnx(“ERR:?baudrate:?%d\n“?baud);
????????????return?-EINVAL;
????}

????struct?termios?uart_config;

????int?termios_state;

????/*?fill?the?struct?for?the?new?configuration?*/
????tcgetattr(fd?&uart_config);
????/*?clear?ONLCR?flag?(which?appends?a?CR?for?every?LF)?*/
????uart_config.c_oflag?&=?~ONLCR;
????/*?no?parity?one?stop?bit?*/
????uart_config.c_cflag?&=?~(CSTOPB?|?PARENB);
????/*?set?baud?rate?*/
????if?((termios_state?=?cfsetispeed(&uart_config?speed))?????????warnx(“ERR:?%d?(cfsetispeed)\n“?termios_state);
????????return?false;
????}

????if?((termios_state?=?cfsetospeed(&uart_config?speed))?????????warnx(“ERR:?%d?(cfsetospeed)\n“?termios_state);
????????return?false;
????}

????if?((termios_state?=?tcsetattr(fd?TCSANOW?&uart_config))?????????warnx(“ERR:?%d?(tcsetattr)\n“?termios_state);
????????return?false;
????}

????return?true;
}


int?uart_init(const?char?*?uart_name)
{
????int?serial_fd?=?open(uart_name?O_RDWR?|?O_NOCTTY);

????if?(serial_fd?????????err(1?“failed?to?open?port:?%s“?uart_name);
????????return?false;
????}
????return?serial_fd;
}

static?void?usage(const?char?*reason)
{
????if?(reason)?{
????????fprintf(stderr?“%s\n“?reason);
????}

????fprintf(stderr?“usage:?read_uart_sensor?{start|stop|status}?[param]\n\n“);
????exit(1);
}

int?read_uart_sensor_main(int?argc?char?*argv[])
{
????if?(argc?????????usage(“missing?command“);
????}

????if?(!strcmp(argv[1]?“start“))?{
????????if?(thread_running)?{
????????????warnx(“already?running\n“);
????????????return?0;
????????}

????????thread_should_exit?=?false;
??????

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-03-19?11:57??uart\
?????文件????????3493??2018-03-19?11:22??uart\nuttx_px4fmu-v2_default.cmake
?????文件?????????276??2018-03-19?11:15??uart\uart_pos.msg
?????目錄???????????0??2018-03-19?11:21??uart\read_uart\
?????文件????????1920??2018-03-19?11:21??uart\read_uart\CMakeLists.txt
?????文件????????5657??2018-03-19?11:45??uart\read_uart\read_uart.c

評論

共有 條評論