当前位置: 首页 > news >正文

富通建设有限公司网站江苏网站seo

富通建设有限公司网站,江苏网站seo,网页区设计网站诊断,怎么在网站上做推前言 在我们学习嵌入式的过程中#xff0c;uart算是我们用的非常多的一个外设了#xff0c;我们可以用串口打印信息#xff0c;也可以用于设备通信#xff0c;总之串口的作用非常多#xff0c;我们也非常有必要熟练地去掌握这个外设。 uart的配置 uart的参数配置 uart_…前言 在我们学习嵌入式的过程中uart算是我们用的非常多的一个外设了我们可以用串口打印信息也可以用于设备通信总之串口的作用非常多我们也非常有必要熟练地去掌握这个外设。 uart的配置 uart的参数配置 uart_config_t uart_config {.baud_rate ECHO_UART_BAUD_RATE, //波特率.data_bits UART_DATA_8_BITS, //数据传输大小.parity UART_PARITY_DISABLE,//奇偶校验.stop_bits UART_STOP_BITS_1,//停止位.flow_ctrl UART_HW_FLOWCTRL_DISABLE,//硬件流.source_clk UART_SCLK_DEFAULT,};还是和上一篇我们学习SPI一样首先需要配置uart的基本参数像这些参数我们在学习STM32或者其他单片机的时候应该都比较熟悉了只需要根据我们项目的需求进行配置就OK了。 esp_err_t uart_param_config(uart_port_t uart_num, const uart_config_t *uart_config)配置完成之后使用上面的函数进行设置即可。 安装 uart驱动 esp_err_t uart_driver_install(uart_port_t uart_num, int rx_buffer_size, int tx_buffer_size, int event_queue_size, QueueHandle_t *uart_queue, int intr_alloc_flags)uart_driver_install 是ESP-IDF中用于安装UART驱动程序的函数它为UART驱动程序分配所需的内部资源包括环形缓冲区和事件队列。以下是该函数的作用和使用方法 作用 分配UART驱动程序所需的内部资源包括Tx发送和Rx接收的环形缓冲区。创建一个事件队列用于处理UART事件如数据接收、缓冲区溢出等。允许UART驱动程序使用中断提高数据传输的效率和响应性。 使用方法 使用uart_driver_install函数时需要指定以下参数 uart_num指定UART端口号例如UART_NUM_1或UART_NUM_2。rx_buffer_size接收环形缓冲区的大小。tx_buffer_size发送环形缓冲区的大小。event_queue_size事件队列的大小用于存储UART事件。uart_queue指向队列句柄的指针用于存储UART事件。flags标志位用于指定是否需要中断等。 这里我们可以使用他的uart事件这样更加方便我们编程这里我使用读取超时的(timeout_flag)的标志这个就类似触发我们STM32中的空闲接收代表数据已经接收完成我们可以进行处理。 ESP_ERROR_CHECK(uart_driver_install(ECHO_UART_PORT_NUM, BUF_SIZE * 2, BUF_SIZE * 2, 20, uart1_queue, intr_alloc_flags));引脚配置 esp_err_t uart_set_pin(uart_port_t uart_num, int tx_io_num, int rx_io_num, int rts_io_num, int cts_io_num)最后使用上面的函数配置我们的引脚即可。 完整代码 #define TAG tx_usart#define ECHO_TEST_TXD (21)#define ECHO_TEST_RXD (22)#define ECHO_UART_PORT_NUM (1)#define ECHO_UART_BAUD_RATE (115200)#define BUF_SIZE (1024)static QueueHandle_t uart1_queue;void tx_usart_init(void){uart_config_t uart_config {.baud_rate ECHO_UART_BAUD_RATE,.data_bits UART_DATA_8_BITS,.parity UART_PARITY_DISABLE,.stop_bits UART_STOP_BITS_1,.flow_ctrl UART_HW_FLOWCTRL_DISABLE,.source_clk UART_SCLK_DEFAULT,};int intr_alloc_flags 0;uint8_t timer_cnt 0;ESP_ERROR_CHECK(uart_driver_install(ECHO_UART_PORT_NUM, BUF_SIZE * 2, BUF_SIZE * 2, 20, uart1_queue, intr_alloc_flags));ESP_ERROR_CHECK(uart_param_config(ECHO_UART_PORT_NUM, uart_config));ESP_ERROR_CHECK(uart_set_pin(ECHO_UART_PORT_NUM, ECHO_TEST_TXD, ECHO_TEST_RXD, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE));uart_event_t event;// Configure a temporary buffer for the incoming datauint8_t *data (uint8_t *) malloc(BUF_SIZE);while (1) {// Read data from the UART//Waiting for UART event.if(xQueueReceive(uart1_queue, (void * )event, (TickType_t)0)) {/*以此判断一帧数据传输完成*/if(event.timeout_flag){ESP_LOGI(TAG,Recv TimeOUT);}xQueueReset(uart1_queue);}int len uart_read_bytes(ECHO_UART_PORT_NUM, data, (BUF_SIZE - 1), 0);// Write data back to the UARTuart_write_bytes(ECHO_UART_PORT_NUM, (const char *) data, len);vTaskDelay(10 / portTICK_PERIOD_MS);}}
http://www.w-s-a.com/news/620756/

相关文章:

  • 获取网站访客qq号码代码做抽奖网站违法吗
  • 湖南大型网站建设公司排名偷网站源码直接建站
  • 网站建设周期规划北京网站设计必看刻
  • 如何做自己的在线作品网站深圳网站设计公司的
  • 网站开发外包公司wordpress最简单模板
  • 湖南省建设人力资源网站wordpress主机pfthost
  • 淮安软件园哪家做网站各网站特点
  • 网站长尾关键词排名软件重庆荣昌网站建设
  • 建个商城网站多少钱茂名专业网站建设
  • 开通公司网站免费的网站app下载
  • 跨境电商网站模板wordpress壁纸
  • 国内做网站网站代理电子商务网站建设与维护概述
  • 如何做地方网站推广沈阳网势科技有限公司
  • 哈尔滨网站优化技术涵江网站建设
  • 做网站搞笑口号wordpress全屏动画
  • 怎么可以建网站小程序代理项目
  • 怎样做软件网站哪个网站用帝国cms做的
  • 网站开发编程的工作方法wordpress dux-plus
  • 廊坊电子商务网站建设公司网站进不去qq空间
  • 南宁网站推广费用创意网页设计素材模板
  • 深圳技术支持 骏域网站建设wordpress 酒主题
  • 东莞网站建设+旅游网站改版数据来源表改怎么做
  • 手机端做的优秀的网站设计企业做网站大概多少钱
  • 优化网站使用体验手机网站解析域名
  • 网站制作 商务做网站的软件名字全拼
  • 阿里巴巴网官方网站温州网站建设设计
  • 传奇购买域名做网站国外网站设计 网址
  • 西安凤城二路网站建设seo网站是什么
  • 网站后台如何更换在线qq咨询代码在线种子资源网
  • 东莞网站优化制作免费中文wordpress主题下载