日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

W600 PWM 捕获功能使用示例程序

發布時間:2025/4/5 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 W600 PWM 捕获功能使用示例程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用DMA的方式來捕獲輸入波形中一個周期內的高低電平的持續時間,從而計算出輸入頻率;

捕獲分辨率在這里設置到了1us;

?

?

/***************************************************************************** * * File Name : main.c * * Description: main * * Copyright (c) 2014 Winner Micro Electronic Design Co., Ltd. * All rights reserved. * * Author : dave * * Date : 2014-6-14 *****************************************************************************/ #include "wm_include.h" #include "wm_type_def.h" #include "FreeRTOS.h" #include "task.h" #include "wm_gpio.h" #include "wm_pwm.h" #include "wm_cpu.h" #include "wm_dma.h" #include "wm_gpio_afsel.h" #include "wm_timer.h"#define COUNTER_FREQ 1000000 #define ZERO_DETEC_IO WM_IO_PB_18 #define PWM_CAP_CHANNEL 0typedef struct _frequency_info {volatile u32 pwmDmaCap;volatile u32 period_ticks;volatile u32 frequecy; } frequency_info;static frequency_info f_info;static void pwm_dma_callback(void *arg) {//printf("pwmH:%d, pwmL:%d\n", (f_info.pwmDmaCap >> 16), (f_info.pwmDmaCap & 0x0000ffff));f_info.period_ticks = (f_info.pwmDmaCap >> 16) + (f_info.pwmDmaCap & 0x0000ffff); }static int pwm_capture_mode_dma(u8 channel, u32 freq) {u8 dmaCh;int frequecy = 0, high, low;struct tls_dma_descriptor DmaDesc;tls_sys_clk sysclk;memset( &f_info, 0, sizeof(f_info) );tls_sys_clk_get(&sysclk);wm_pwm1_config(ZERO_DETEC_IO);tls_pwm_stop(channel);dmaCh = tls_dma_request(1, TLS_DMA_FLAGS_CHANNEL_SEL(TLS_DMA_SEL_PWM_CAP0) | TLS_DMA_FLAGS_HARD_MODE);DmaDesc.src_addr = HR_PWM_CAPDAT;DmaDesc.dest_addr = (unsigned int)&(f_info.pwmDmaCap);DmaDesc.dma_ctrl = TLS_DMA_DESC_CTRL_DEST_ADD_INC | TLS_DMA_DESC_CTRL_BURST_SIZE1 | TLS_DMA_DESC_CTRL_DATA_SIZE_WORD | TLS_DMA_DESC_CTRL_TOTAL_BYTES(400);DmaDesc.valid = TLS_DMA_DESC_VALID;DmaDesc.next = NULL;tls_dma_start(dmaCh, &DmaDesc, 0);tls_dma_irq_register(dmaCh, pwm_dma_callback, NULL, TLS_DMA_IRQ_TRANSFER_DONE);tls_pwm_cap_init(channel, sysclk.apbclk * UNIT_MHZ / freq, DISABLE, WM_PWM_CAP_DMA_INT);tls_pwm_start(channel);while(f_info.period_ticks == 0);tls_pwm_stop(channel);high = f_info.period_ticks>>16;low = f_info.period_ticks&0xffff;printf("LEVEL: H:%d, L:%d\n", high, low);frequecy = COUNTER_FREQ/(high + low);printf("input freq: %dHz\n", frequecy);f_info.frequecy = frequecy;return frequecy; }static int gpio_initial(void) {tls_gpio_cfg(ZERO_DETEC_IO, WM_GPIO_DIR_INPUT, WM_GPIO_ATTR_PULLHIGH);return WM_SUCCESS; }void ctrl_task9(int *arg) {printf("application start.\n");wm_pwm2_config(WM_IO_PB_17);tls_pwm_init(1, 60, 99, 0);tls_pwm_start(1);gpio_initial();pwm_capture_mode_dma(PWM_CAP_CHANNEL, COUNTER_FREQ);while(1){ tls_os_time_delay(HZ);} }int misc_task_start(void (*func)(void *), char *task_name, u32 stack_size, void *arg, u8 uxTaskPriority) {return xTaskCreate(func, /* The function that implements the task. */task_name, /* Just a text name for the task to aid debugging. */stack_size, /* The stack size is defined in FreeRTOSIPConfig.h. */arg, /* The task parameter, not used in this case. */uxTaskPriority, /* The priority assigned to the task is defined in FreeRTOSConfig.h. */NULL); /* The task handle is not used. */}void UserMain(void) {misc_task_start(ctrl_task9, "ctr9", 256, NULL, 5); }

?

總結

以上是生活随笔為你收集整理的W600 PWM 捕获功能使用示例程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美在线免费 | www.蜜臀| jizz欧美性23| 欧美日韩国产在线播放 | 在线超碰 | 国产精品一区二区三区在线 | 台湾佬美性中文娱乐网 | 日本黄色成人 | 在线观看毛片av | 伊人网狼人 | 天海翼av| 成人深夜视频 | 伊人影院在线观看视频 | 黄色大片一级 | 99re在线精品 | 国精产品一区一区三区mba下载 | 91日本在线观看 | 污污网站免费在线观看 | 欧美极品三级 | 国产精品久久久久久久久久久久久久久 | 三年中国片在线高清观看 | 色七七桃花影院 | 国产美女久久久久久 | 国产欧美一区二区三区在线 | 黄色一级视频免费看 | 成人免费视频大全 | 黑人巨大精品欧美一区二区免费 | 性生活毛片 | 久久亚洲av成人无码国产电影 | 亚洲综合婷婷 | 在线观看免费 | 国产1区| av私库在线观看 | 亚洲97 | 动漫av在线免费观看 | 久草影视网 | 久久欧洲 | av小片| 国产成人精品亚洲精品色欲 | 三年大全国语中文版免费播放 | 蜜桃视频欧美 | 国产精品无码av在线有声小说 | 欧美日韩中文在线视频 | 正在播放木下凛凛xv99 | 免费裸体美女网站 | 亚洲第一成年网 | 狠狠干干干 | 国产精品色综合 | 寂寞d奶大胸少妇 | 黄色免费在线播放 | 在线视频一区二区三区 | 天堂av网址 | 日本大胆人体视频 | 日韩一区二区a片免费观看 伊人网综合在线 | 久久性色 | 亚洲精品乱码久久久久久蜜桃麻豆 | 在线观看国产一区二区三区 | 特黄aaaaaaaaa毛片免 | 国产香蕉视频在线播放 | 日韩一级高清 | 欧美日韩中文在线 | 小视频在线看 | 玉丸(双性调教) | 国产精品熟女久久久久久 | 污视频网址在线观看 | 69av在线 | 国产美女www爽爽爽视频 | 色一情一交一乱一区二区三区 | 日韩午夜网站 | 动漫美女露胸网站 | 欧美一区二区三区久久综合 | 大陆农村乡下av | 波多野结衣丝袜 | 亚色av | youjizz自拍| 精品人妻一区二区三区蜜桃 | 天堂中文资源在线 | 农村妇女一区二区 | 偷偷操网站| 激情综合亚洲 | 黄色小视频在线播放 | 四虎久久 | 丁香婷婷激情 | 欧美30p| 亚洲国产精品国自产拍久久 | 国产成人77亚洲精品www | 日本少妇做爰全过程毛片 | 精品九九九九九 | 少妇高潮毛片色欲ava片 | 欧美日韩色视频 | 久久久国产精华液 | 天天干网址 | 交hdsexvideos娇小| 夜色一区二区 | 亚洲三级电影 | av毛片精品 | 欧美午夜精品久久久久久浪潮 | 久久国产精品视频 | 91在线观看网站 |