Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

我正在使用 PSoC 創建器在一次射擊模式下配置計數器。 我有一塊 CY8CPROTO-063-BLE 板。目標設備是CYBLE-416045-02。如何設定下列項目? 在 P0 [4] 上的按鈕的下降邊緣上,一個計數器在引腳 P6 上輸出 1 kHz 輸入時鐘的 10 週期。 在這 10 個循環之後,引腳 P6 [3] 保持低,計數器會重置。 系統等待按鈕輸入的下一個下降邊緣,然後重新開始該過程。 我更喜歡一個主要通過配置 GUI 配置計數器的解決方案。

1 解決方案
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

安德里,

我找出了我的解決方案。

代碼非常簡單。

#include 項目"。h "

int 主要(空白)
{(空白)CY_TCPWM_PWM_ 初始
化(PWM_HW,PWM_CNT_數,PWM_ 配置);CY_TCPWM_ 啟用 _ 多個(PWM_HW,PWM_CNT _ 遮罩);CY_TCPWM_ 觸發器啟動(PWM_HW,PWM_CNT _ 遮罩);&

(空白) CY_TCPWM_ 計數器 _ 初始化(計數器 _ HW,計數器 _ 數器 _ 配置);CY_TCPWM_ 可啟用 _ 多重(計數器 _ HW,計數器 _ CNT _ 遮罩);CY_TCPWM_ 觸發器啟動(計數器 _ HW,計數器 _ CNT _ 遮罩&);

用於 (;;)
{

}
}

在原始文章中檢視解決方案

0
5 回應
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

您好 @MaLe_297531

從您的語句"中在這 10 個週期後,引腳 P6 [3] 保持低,計數器重置。",您
是否意味著按下按鈕後,引腳 P6_3 將設置高,然後在幾次勾選後(10 毫秒)後變為 LOW?
您需要使用 FALLING_EDGE 將引腳 P0_4 設置為中斷,以重置 P6_3 的狀態,然後設置 TCPWM 塊的輸入進行啟動(下行)和重新加載(上升邊)。
TCPWM 需要在按下按鈕的輸入時啟動計數器(下降邊),然後釋放按鈕時將計數器重新加載到 0(上升邊)

ADSW_0-1699448968313.png
請在附件中找到代碼。
要更改計數器(期間)的值,可以使用 CY_TCPWM_COUNTER_ SETPeriod 函數。

溫馨的問候,安
德里

 

0
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

您好 @MaLe_297531

對我遲到的回复道歉。

您可以使用新增&設定 TCPWM 作為方波產生器。
將方波信號連接到計數器輸入和輸出引腳。

ADSW_0-1699601229205.png


溫馨的問候,安
德里



0
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

安德里,

我建立了你的項目,LED 輸出卡住在低(LED 始終亮)。 當我使用您之前的示例程序編程時,該板仍然可以工作。 有什麼可能錯誤的想法? 我將 LED 引腳更改為 P6 [3],這是紅色 LED。

-馬克

0
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

安德里,

我找出了我的解決方案。

代碼非常簡單。

#include 項目"。h "

int 主要(空白)
{(空白)CY_TCPWM_PWM_ 初始
化(PWM_HW,PWM_CNT_數,PWM_ 配置);CY_TCPWM_ 啟用 _ 多個(PWM_HW,PWM_CNT _ 遮罩);CY_TCPWM_ 觸發器啟動(PWM_HW,PWM_CNT _ 遮罩);&

(空白) CY_TCPWM_ 計數器 _ 初始化(計數器 _ HW,計數器 _ 數器 _ 配置);CY_TCPWM_ 可啟用 _ 多重(計數器 _ HW,計數器 _ CNT _ 遮罩);CY_TCPWM_ 觸發器啟動(計數器 _ HW,計數器 _ CNT _ 遮罩&);

用於 (;;)
{

}
}

0
Translation_Bot
Community Manager
Community Manager
Community Manager

您好 @MaLe_297531

感謝您的更新和信息。
我很高興知道您的問題已解決,
然後我將關閉此主題,

如果您將來有任何其他問題,請不要猶豫再次與我們聯繫。

溫馨的問候,安
德里



0