久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3056|回復: 0
打印 上一主題 下一主題
收起左側

ESP8266 RTOS CHQ1838接收遙控數據命令源程序

[復制鏈接]
跳轉到指定樓層
樓主
CHQ1838引腳示意圖



源程序如下:
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>

  4. #include "freertos/FreeRTOS.h"
  5. #include "freertos/task.h"
  6. #include "freertos/queue.h"

  7. #include "driver/gpio.h"

  8. #include "esp_log.h"
  9. #include "esp_system.h"

  10. static const char *TAG = "main";


  11. #define GPIO_INPUT_IO_2     2   // D4
  12. #define GPIO_INPUT_PIN_SEL  (1ULL<<GPIO_INPUT_IO_2)

  13. static xQueueHandle gpio_evt_queue = NULL;

  14. extern uint32_t esp_get_time(void);                                                                                 // 獲取當前啟動毫秒數

  15. static void gpio_task_example(void *arg)
  16. {
  17.     uint32_t interval_us,ms;

  18.     for (;;) {
  19.         if (xQueueReceive(gpio_evt_queue, &interval_us, portMAX_DELAY)) {
  20.             // ESP_LOGI(TAG, "GPIO failling edge interval time: %d\n", interval_us);
  21.             // printf("data is: ");
  22.             ms = interval_us / 100;
  23.             if (ms <= 150 && ms >= 120 )    // 在 12 - 15 ms之間認為是前導碼
  24.             {
  25.                 printf("\n start ");
  26.             }
  27.             else if (ms < 20 && ms >= 10)  // 在 1 - 2 ms之間認為是0
  28.             {
  29.                 printf("0 ");
  30.             }
  31.             else if (ms <= 30 && ms >= 20)  // 在2 - 3 ms之間認為是1
  32.             {
  33.                 printf("1 ");
  34.             }
  35.         }
  36.     }
  37. }

  38. uint32_t first_time = 0, second_time = 0,interval_time = 0;

  39. static void monitor_chq1838_break(void *arg){
  40.     first_time = second_time;
  41.     second_time = esp_get_time();
  42.     interval_time = second_time - first_time;
  43.     xQueueSendFromISR(gpio_evt_queue, &interval_time, NULL);
  44. }

  45. void app_main(void)
  46. {
  47.     gpio_config_t io_conf;
  48.     io_conf.intr_type = GPIO_INTR_NEGEDGE;
  49.     io_conf.mode = GPIO_MODE_INPUT;
  50.     io_conf.pin_bit_mask = GPIO_INPUT_PIN_SEL;
  51.     io_conf.pull_down_en = 0;
  52.     io_conf.pull_up_en = 1;
  53.     gpio_config(&io_conf);

  54.     gpio_evt_queue = xQueueCreate(100, sizeof(uint32_t));
  55.     xTaskCreate(gpio_task_example, "gpio_task_example", 2048, NULL, 10, NULL);

  56.     gpio_install_isr_service(0);
  57.     gpio_isr_handler_add(GPIO_INPUT_IO_2, monitor_chq1838_break, (void *) GPIO_INPUT_IO_2);

  58.     while (1) {
  59.         vTaskDelay(1000 / portTICK_RATE_MS);
  60.     }
  61. }


復制代碼

手冊下載:
CHQ1838.PDF (806.72 KB, 下載次數: 13)

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久九九热 | 日本不卡视频 | 国产视频福利 | 亚洲欧美在线视频 | 成人免费视频播放 | 日韩视频在线观看免费 | 窝窝午夜精品一区二区 | 激情综合婷婷 | 天天综合色 | 国产精品综合 | 中文字幕免费在线 | 国产亚洲一区二区三区 | 日本免费不卡视频 | 黄色xxxxx | 福利视频网站 | 不卡中文字幕 | 国产精品久久久久久久久久久久久 | 黄色大片免费观看 | 黄色片观看 | 特黄aaaaaaaaa真人毛片 | 亚洲精品久久久久 | 欧美一级在线观看 | 开心激情站 | 久久免费小视频 | 国产精品视频专区 | 午夜精品久久久久久久99 | 国产高清视频在线播放 | 亚洲免费在线视频 | 国产v片| 一级做a视频 | 亚洲裸体视频 | 国产欧美日韩在线视频 | 久久综合激情 | 超碰成人在线观看 | 国产精品伦一区二区三级视频 | 欧美日韩亚洲综合 | 国产精品区二区三区日本 | 日韩av在线免费看 | 伊人999 | 六月丁香激情 | 六月丁香综合 |