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

こんにちは、2ピンのADC値を読み取ろうとしていますが、クロックを使用するPWMピンはほとんどありませんが、問題は、PWMとADCの両方を一緒に初期化すると、cyhal_adc_read()を使用してADC値を読み取っているときにADCが機能せず、クロック割り当ても失敗することです。 だから私はPWMとADCの両方が1つのプロジェクトで一緒に動作するようにしたい。

添付ファイルから私のプロジェクトをダウンロードできます CAN 。

BSPはそのままにしておきたい。 許可される唯一の変更は、ILOを有効に CAN CLK_LF必要に応じてCLK_BAK、デフォルトでは無効にしたままにしておくことです。 ただし、必要に応じて有効に CAN 。 また、クロックブロック CYHAL_CLOCK_BLOCK_HF試しましたが 同じ問題が発生しました。したがって、問題を解決 CAN 場合は調べてください。

PWMとADCの両方に CYHAL_CLOCK_BLOCK_HFを使用すると初期化は成功  しますが、ADC値の読み取りに失敗します。私が行ったデバッグのスクリーンショットを追加しました。

0 件の賞賛
1 解決策
Translation_Bot
Community Manager
Community Manager
Community Manager

添付のプロジェクトには、PWMとADCが連携して機能しています。 繰り返しになりますが、USBおよびFreeRTOS部分のビルドエラーのため、プロジェクトをデバッグできませんでした。 この添付プロジェクトでは、PWMとADCが明らかに機能しています。

 

ADC:上記と同じ出力

PWM:LED が半秒間隔(2 Hz)で点滅します。

元の投稿で解決策を見る

0 件の賞賛
14 返答(返信)
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは @Manoj_Kumar

 

PWMはADCの動作を妨げるべきではありません。 共有されたプロジェクトを見て、あなたに戻ってきましょう。 それまでの間 CAN 、 https://github.com/Infineon/cce-mtb-psoc6-amux-sar-adc を参照してください。 ティッカー

また、どのModusToolboxバージョンを使用しているか教えてください。

 

感謝!

敬具

アルピット・スリバスタフ

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは @Manoj_Kumar 

 

https://github.com/Infineon/mtb-example-hal-adc-basic と https://github.com/Infineon/mtb-example-hal-tcpwm-timer/tree/master を参照することをお勧めします 

感謝!
敬具

アルピット・スリバスタフ

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

複数のADCピンを読み取る必要があり、PWMピンを使用する必要があることが CAN わかるので、プロジェクトを通過したことを願っています。 問題は、ピンのADC値を取得できないことです。 pwmをコメントアウトするとADCは機能しますが、両方が同時に動作するようにする必要があります。 ですから、プロジェクトを参照して、ADCとPWMの両方が単一のプロジェクトで機能するように変更を加えて機能させる CAN かどうかをお知らせください。

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは @Manoj_Kumar

 

USB、FreeRTOSのビルドエラーが発生していたので、タイマーとADCの両方が連携している別のプロジェクトを作成しました。 ティッカー

タイマー:1秒ごとにUSER_LEDが切り替わります

 

ADC:

HAL: HAL を使用した ADC
-----------------------------------------------------------

ADCはシングル・チャネル構成で構成

チャンネル0の入力ピンに入力電圧を供給します。

チャンネル0入力:708mV
チャンネル0入力:729mV
チャンネル0入力:729mV
チャンネル0入力:728mV
チャンネル0入力:723mV
チャンネル0入力:715mV
チャンネル0入力:710mV

 

キット チャンネル0入力ピン
CY8CPROTO-062-4343W P10[0]

 

敬具

アルピット・スリバスタフ

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

さて、これはADCの基本的な例にすぎません。 私が必要としたのは、PWMとADCが同じプロジェクトで動作することです。

ADCとPWMを一緒に利用したいのですが、私の場合、ADCとPWMは、個々のプロジェクトで実行するか、誰かをコメントアウトすると、もう1つは機能します。 しかし、両方が同じプロジェクトで一緒に働くわけではありません。 したがって CAN PWMとADCを1つのプロジェクトで一緒に試してみてください。

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

添付のプロジェクトには、PWMとADCが連携して機能しています。 繰り返しになりますが、USBおよびFreeRTOS部分のビルドエラーのため、プロジェクトをデバッグできませんでした。 この添付プロジェクトでは、PWMとADCが明らかに機能しています。

 

ADC:上記と同じ出力

PWM:LED が半秒間隔(2 Hz)で点滅します。

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

応答をありがとう、病気はプロジェクトをチェックして、それが私のために働くかどうかあなたに知らせてください。

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

プロジェクトでは、 CAN 、私は2つのピンを読んでいるので、マルチチャンネルを利用するだけです。 また CAN cyhal_pwm_init()を使用してLEDを初期化し、デューティサイクルとコールバックを設定します。 多分このようなもの

result_0_out = cyhal_pwm_init_adv(&pwmObj_0, P2_2, NC, CYHAL_PWM_LEFT_ALIGN, 偽, 0, 真, &pwm_clock_obj);
result_0_out = cyhal_pwm_set_duty_cycle(&pwmObj_0,500,1000);
result_0_out = cyhal_pwm_init_adv(&pwmObj_1, P11_2, NC, CYHAL_PWM_LEFT_ALIGN, 偽, 0, 真, &pwm_clock_obj);
result_0_out = cyhal_pwm_set_duty_cycle(&pwmObj_1,500,1000);
result_0_out = cyhal_gpio_init(P2_4, CYHAL_GPIO_DIR_INPUT, CYHAL_GPIO_DRIVE_PULLUP, 1);
s_callback_data_0_out.コールバック = s_interrupt_handler_0_out;
cyhal_gpio_register_callback(P2_4,&s_callback_data_0_out);
cyhal_gpio_enable_event(P2_4、CYHAL_GPIO_IRQ_BOTH,7、真);
 
私のプロジェクトのmain.cを参照して、pwmとadcをどのように試したかを確認してください。 たぶん、いくつかの同様の初期化が私にとってより良いでしょう。
 
0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは @Manoj_Kumar

添付のコードには、マルチチャネルのADCコードもあります #if ADC_EXAMPLE_MODE == MULTI_CHANNEL
添付のプロジェクトに変更を加え、問題があればお知らせください。

よろしく

アルピット・スリバスタフ

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは @Srivastav、他のすべてのGPIOを初期化した場合はどうなりますか、それはあなたのために働いていましたか? そして CAN あなたは同じBSPを使用します。 そして、デューティサイクルとisrをPWMに割り当てます。 これを試して、物事がうまくいっていることを確認するCAN?

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは @Manoj_Kumar

 

ADCとPWMは現在2つのピンで動作しています。 参考までに、添付のプロジェクトを参照してください。

ADC出力(マルチチャンネル):

-----------------------------------------------------------
HAL: HAL を使用した ADC
-----------------------------------------------------------

ADCはマルチチャネル構成で構成されています。

チャネル0はシングルエンドモードで設定され、
チャンネル0の入力ピン チャンネル0の入力ピンに入力電圧を供給
チャネル1は差動モードで設定され、
チャンネル1の入力ピンとチャンネル1の電圧リファレンス・ピン チャンネル1の入力ピンとリファレンスに入力電圧を供給
チャンネル1の電圧リファレンス・ピンの電圧

チャンネル0入力:0mV チャンネル1入力:0mV
チャンネル0入力:665mV チャンネル1入力:310mV
チャンネル0入力:712mV チャンネル1入力:338mV
チャンネル0入力:700mV チャンネル1入力:327mV
チャンネル0入力:684mV チャンネル1入力:317mV
チャンネル0入力:671mV チャンネル1入力:309mV
チャンネル0入力:659mV チャンネル1入力:304mV
チャンネル0入力:654mV チャンネル1入力:304mV
チャンネル0入力:655mV チャンネル1入力:307mV
チャンネル0入力:659mV チャンネル1入力:314mV
チャンネル0入力:671mV チャンネル1入力:323mV
チャンネル0入力:681mV チャンネル1入力:333mV
チャンネル0入力:697mV チャンネル1入力:344mV
チャンネル0入力:712mV チャンネル1入力:356mV
チャンネル0入力:723mV チャンネル1入力:372mV
チャンネル0入力:731mV チャンネル1入力:381mV
チャンネル0入力:728mV チャンネル1入力:385mV
チャンネル0入力:723mV チャンネル1入力:381mV
チャンネル0入力:713mV チャンネル1入力:365mV
チャンネル0入力:699mV チャンネル1入力:352mV
チャンネル0入力:683mV チャンネル1入力:338mV
チャンネル0入力:665mV チャンネル1入力:328mV
チャンネル0入力:659mV チャンネル1入力:320mV
チャンネル0入力:655mV チャンネル1入力:317mV
チャンネル0入力:660mV チャンネル1入力:322mV

 

PWM出力:

PWM が正常に起動しました。 2つのLEDが点滅(添付のビデオを確認してください)

よろしく

アルピット・スリバスタフ

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

@Srivastav回答ありがとうございます。これをチェックして、あなたに戻ってください。

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは @Srivastav、プロジェクトを実行したので、単一のPWMピンと複数のADCピンを初期化できましたが、プロジェクトにCDCを追加しようとすると問題が発生し USB 問題が発生します。 CAN 、このコードにUSB CDCを追加して、USB CDCタスクを実行するためのスレッド(FREERTOS)を作成してみてください。 LEDを切り替えながら、ユーザーが送信したものとピンのADC値をエコーし続けます!!!

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは @Manoj_Kumar

 

この問題の新しいスレッドを作成してください。 ADCとPWMは連携して動作しています。

 

よろしく
アルピット・スリバスタフ

0 件の賞賛