杰發科技AC7801——PWM獲取固定脈沖個數

測試通道6

在初始化時候打開通道中斷

void PWM1_GenerateFrequency(void)
{PWM_CombineChConfig combineChConfig[1]; //組合模式相關結構體PWM_IndependentChConfig independentChConfig[2];//獨立模式相關結構體PWM_ModulationConfigType pwmConfig; //PWM模式相關結構體PWM_ConfigType config; //PWM模塊結構體//結構體數據清零memset(&combineChConfig, 0, sizeof(combineChConfig));memset(&independentChConfig, 0, sizeof(independentChConfig));memset(&pwmConfig, 0, sizeof(pwmConfig));memset(&config, 0, sizeof(config));/*channel 6*/independentChConfig[0].channel = PWM_CH_6; //通道6independentChConfig[0].chValue = MOD_PWM >> 1;//通道6 channel值,輸出占空比 = chValue / (config.maxValue + 1) = 50%independentChConfig[0].levelMode = PWM_HIGH_TRUE; //輸出PWM高有效independentChConfig[0].polarity = PWM_OUTPUT_POLARITY_ACTIVE_LOW; //輸出極性高有效,PWM mask后PWM輸出低電平independentChConfig[0].interruptEn = ENABLE;//PWM通道匹配中斷使能位independentChConfig[0].initLevel = PWM_LOW_LEVEL;//PWM初始電平輸出為低,該配置受initChOutputEn控制,決定PWM計數器未工作前PWM口的輸出電平值。independentChConfig[0].triggerEn = DISABLE;//通道外部觸發使能
//    /*channel 7*/independentChConfig[1].channel = PWM_CH_7; //通道7independentChConfig[1].chValue = MOD_PWM >> 2;//通道7 channel值,輸出占空比 = chValue / (config.maxValue + 1) = 25%independentChConfig[1].levelMode = PWM_HIGH_TRUE; //輸出PWM高有效independentChConfig[1].polarity = PWM_OUTPUT_POLARITY_ACTIVE_HIGH; //輸出極性高有效,PWM mask后PWM輸出低電平independentChConfig[1].interruptEn = DISABLE;//PWM通道匹配中斷使能位independentChConfig[1].initLevel = PWM_LOW_LEVEL;//PWM初始電平輸出為低,該配置受initChOutputEn控制,決定PWM計數器未工作前PWM口的輸出電平值。independentChConfig[1].triggerEn = DISABLE;//通道外部觸發使能/*modulation mode config*/pwmConfig.countMode = PWM_UP_COUNT; //PWM計數器模式 (不同的計數模式頻率及占空比計算方式不同)pwmConfig.independentChannelNum = 2; //獨立通道數pwmConfig.combineChannelNum = 0; //組合對數pwmConfig.independentChConfig = independentChConfig; //獨立通道配置變量地址賦值pwmConfig.combineChConfig = combineChConfig; //組合通道配置變量地址賦值pwmConfig.deadtimePsc = PWM_DEADTIME_DIVID_1;//死區插入分頻值,與deadtime一起決定插入死區的時間。pwmConfig.deadtime = 0;  //死區時間 = (DTPSC * DTVAL)/PWM計數器時鐘周期 = 1*24/24000000 = 1uspwmConfig.initChOutputEn = DISABLE; //使能初始化通道輸出,使能后獨立PWM模式的initLevel和組合PWM模式的ch1stInitLevel和ch2ndPolarity配置才會生效pwmConfig.initTriggerEn = DISABLE; //通道外部觸發使能/*pwm config*/config.mode = PWM_MODE_MODULATION;//PWM模塊配置為PWM模式config.initModeStruct = &pwmConfig;//PWM配置結構體地址賦值config.clkSource = PWM_CLK_SOURCE_APB; //PWM時鐘源配置config.clkPsc = PWM_PRES;//PWM時鐘源分頻config.initValue = 0;//計數器初始寄存器值config.maxValue = MOD_PWM - 1; //PWM計數器最大值config.overflowInterrupEn = DISABLE;//計數器溢出中斷使能config.cntOverflowFreq = 0;//CNTOF中斷產生的頻率與計數器頻率的關系(0-127), 0表示每次計數器溢出都產生溢出中斷,1表示間隔1次,2表示間隔2次,以此內推。config.interruptEn = ENABLE; //PWM中斷使能config.callBack = PWM1_CallBack; //PWM中斷回調PWM_Init(PWM1, &config); //配置初始化生效NVIC_SetPriority(PWM1_IRQn, 0); //設置PWM模塊中斷的優先級
}

在中斷中對通道6開啟計數

測試結果多了一個小脈沖,如果是邊沿有效,可以減一個計數值

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/84296.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/84296.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/84296.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

RL電路的響應

學完RC電路的響應,又過了一段時間了,想必很多人都忘了RC電路響應的一些內容。我們這次學習RL電路的響應,以此同時,其實也是帶大家一起回憶一些之前所學的RC電路的響應的一些知識點。所以,這次的學習,其實也…

鴻蒙Flutter實戰:21-混合開發詳解-1-概述

引言 在前面的系列文章中,我們從搭建開發環境開始,講到如何使用、集成第三方插件,如何將現有項目進行鴻蒙化改造,以及上架審核等內容;還以高德地圖的 HarmonyOS SDK 的使用為例, 講解了如何將高德地圖集成…

Vmware ubuntu22.04 虛擬機 連接Windows主機虛擬串口

1. Windows虛擬串口配置 虛擬串口下載:教程網址 虛擬串口使用:教程網址 2. Ubuntu 虛擬串口配置 Vmware ubuntu22.04 虛擬機 連接windows主機虛擬串口_vmware中ttys0連接的是哪個端口-CSDN博客 注意:虛擬添加串口的時候,一直…

編譯rk3568的buildroot不起作用

一、環境: 使用kickpi k1開發板,芯片為rk3568。 vmware ubuntu22.04 kickpi給的sdk包,應該不同友商是通用的。 使用的根文件為buildroot 二、問題: 由于 1、wpa_supplicant -D wext -c /etc/wpa_supplicant.conf -i wlan0 …

【動態規劃】簡單多狀態(二)

📝前言說明: 本專欄主要記錄本人的基礎算法學習以及LeetCode刷題記錄,按專題劃分每題主要記錄:(1)本人解法 本人屎山代碼;(2)優質解法 優質代碼;&#xff…

如何選擇支持AI接入的開發語言與框架

選擇支持AI接入的開發語言與框架 在AI系統開發中,語言和框架的選擇不僅決定了代碼實現方式,更深刻影響模型服務的接入效率、調用方式、性能表現和未來的可維護性。相比傳統后端系統的語言選擇只需關注并發性能或生態成熟度,AI架構下的開發語言必須同時滿足以下幾類能力: 具…

計算機視覺與深度學習 | Python實現CEEMDAN-ABC-VMD-DBO-CNN-LSTM時間序列預測(完整源碼和數據)

以下是一個結合CEEMDAN、ABC優化VMD、DBO優化CNN-LSTM的完整時間序列預測實現方案。該方案包含完整的數據生成、算法實現和模型構建代碼。 完整實現代碼 import numpy as np import pandas as pd from PyEMD import CEEMDAN from vmdpy import VMD from sklearn.preprocessing…

React19源碼系列之渲染階段performUnitOfWork

在 React 內部實現中,將 render 函數分為兩個階段: 渲染階段提交階段 其中渲染階段可以分為 beginWork 和 completeWork 兩個階段,而提交階段對應著 commitWork。 在之前的root.render過程中,渲染過程無論是并發模式執行還是同…

c# 解碼 encodeURIComponent

在C#中,如果你需要解碼由encodeURIComponent方法編碼的URL,你可以使用System.Web命名空間中的HttpUtility.UrlDecode方法。這個方法可以處理由JavaScript的encodeURIComponent方法編碼的字符串。 首先,確保你的項目中引用了System.Web命名空…

Python學習心得:代碼森林的冒險

第一章:迷霧中的第一步 林然從未想過自己會與代碼結緣。那是一個平淡的周六清晨,陽光穿過窗簾,灑在她那臺老舊的筆記本電腦上。屏幕上,Python的安裝界面靜靜地等待著她的決定。她是一個文科生,大學主修社會學&#xf…

展示了一個三軸(X, Y, Z)坐標系!

等軸測投影”(isometric projection)風格的手繪風格三維圖,即三條坐標軸(x?, x?, x?)看起來彼此垂直、等角分布(通常是 120 夾角),它是常見于教材和數學書籍的 “假三維”表示法。…

計算機網絡 - 2.基礎協議

1.TCP協議 1.TCP(Transmission Control Protocol):傳輸控制協議2.TCP協議是一種面向連接的、可靠的、 基于字節流的傳輸層通信協議 1.面向連接:兩個使用TCP協議的應用(通常一個客戶和一個服務器)在彼此交換數據包之前必須先建立一個TCP連接2.可靠的 1.數據傳輸之前都要建立…

前端之vue3創建基本工程,基本登錄、注冊等功能的完整過程

此文也是為了做一個基本學習用的vue3創建項目的過程,包含基本的登錄頁面、登出頁面、基本的router跳轉、axios調用、登錄驗證等內容。與項目: https://gitee.com/rainpet/java-web-demo/tree/master/spring-security01 可以配套使用。 如下為主要過程。 …

如果有三個服務實例部署在三臺不同的服務器上,這三個服務實例的本地緩存,是存儲一模一樣的數據?還是各自只存一部分?

? 答案是:通常每個服務實例都會獨立地緩存它自己訪問過的數據,這些數據可能是相同的,也可能是不同的,取決于請求的內容。 📌 舉個例子說明 假設你有一個商品詳情頁的服務,部署了 3 個服務實例&#xff08…

九州未來十三載:開源賦能 智啟未來

2012年,九州未來以“開源賦能云邊變革”為使命,開啟中國開放云邊基礎架構服務的探索之路。十三載堅守深耕,我們始終以開源為翼,以算力為基,在科技浪潮中砥礪前行,見證并推動著AI時代的算力變革。 堅守初心丨…

Axure項目實戰:智慧運輸平臺后臺管理端-訂單管理1(多級交互)

親愛的小伙伴,在您瀏覽之前,煩請關注一下,在此深表感謝!如有幫助請訂閱專欄! Axure產品經理精品視頻課已登錄CSDN可點擊學習https://edu.csdn.net/course/detail/40420 課程主題:訂單管理 主要內容:條件組合、中繼器篩選、表單跟隨菜單拖動、審批數據互通等 應用場景…

WebAssembly:開啟跨平臺高性能編程的新時代

在當今的互聯網時代,Web 應用的復雜性和性能要求越來越高。從簡單的網頁瀏覽到復雜的在線游戲、實時數據處理和圖形渲染,開發者需要一種能夠兼顧性能和兼容性的技術。WebAssembly(簡稱 Wasm)應運而生,它作為一種新興的…

大數據治理:理論、實踐與未來展望(二)

書接上文 文章目錄 七、大數據治理的未來發展趨勢(一)智能化與自動化(二)數據隱私與安全的強化(三)數據治理的云化(四)數據治理的跨行業合作(五)數據治理的生…

計算機視覺與深度學習 | Matlab實現EMD-GWO-SVR、EMD-SVR、GWO-SVR、SVR時間序列預測(完整源碼和數據)

以下是一個完整的Matlab時間序列預測實現方案,包含EMD-GWO-SVR、EMD-SVR、GWO-SVR和SVR四種方法的對比。代碼包含數據生成、信號分解、優化算法和預測模型實現。 %% 主程序:時間序列預測對比實驗 clc; clear; clearvars; close all;% 生成模擬時間序列數據 rng(1); % 固定隨…

RabbitMQ核心特性——重試、TTL、死信隊列

一、重試機制 在消息傳輸過程中,可能遇到各種問題,如網絡故障,服務器不可用等,這些問題可能導致消息處理失敗,因此RabbitMQ提供了重試機制,允許消息處理失敗后重新發送,但是,如果是因…