Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
[Filter: SPAM] Rajiv576's post body matched "phon**epe", board "Mobile-Robotics". [Filter: SPAM] Rajiv576's post body matched "phon**epe", board "Mobile-Robotics". Post Subject: @यदि Phonepay में गलती से किसी दूसरे नंबर 08102853292 📞 Post Body: @यदि Phonepay में गलती से किसी दूसरे नंबर 08102853292 📞में रिचार्ज हो जाए तो क्या करें?+919217148084 (ट्रांजैक्शन आईडी, गलत नंबर, सही नंबर, अमाउंट) दें और ग्राहक सेवा से संपर्क करें; यह भी संभव है कि आपको गलत नंबर वाले व्यक्ति से संपर्क करना पड़े या फिर PhonePe ग्राहक सेवा के माध्यम से ऑपरेटर से बात करनी पड़े, क्योंकि एक बार रिचार्ज होने के बाद इसे सीधे बदलना मुश्किल होता है और यह ऑपरेटर की पॉलिसी पर निर्भर करता है।  Body text "Phonepay में गलती से किसी दूसरे नंबर 08102853292 📞में रिचार्ज हो जाए तो क्या करें?+919217148084 (ट्रांजैक्शन आईडी, गलत नंबर, सही नंबर, अमाउंट) दें और ग्राहक सेवा से संपर्क करें; यह भी संभव है कि आपको गलत नंबर वाले व्यक्ति से संपर्क करना पड़े या फिर PhonePe" matched filter pattern "phon**epe". Post by User[id=259136,login=Rajiv576] was rejected for the following end-user facing error(s): The message body contains Phonepay में गलती से किसी दूसरे नंबर 08102853292 📞में रिचार्ज हो जाए तो क्या करें?+919217148084 (ट्रांजैक्शन आईडी, गलत नंबर, सही नंबर, अमाउंट) दें और ग्राहक सेवा से संपर्क करें; यह भी संभव है कि आपको गलत नंबर वाले व्यक्ति से संपर्क करना पड़े या फिर PhonePe, which is not permitted in this community. Please remove this content before sending your post.
記事全体を表示
MCXA153 i2c タイムアウト 皆様、 現在、I2C ペリフェラルを使用する MCXA153VLH マイクロプロセッサをベースにしたプロジェクトを開発しています。 'lpi2c_interrupt_b2b_transfer_master' の例を参考にして、24C02 EEPROM の読み取りと書き込みに成功しました。 ここで、通信回線に問題が発生した場合にプロセスが停止したりハングしたりしないように、タイムアウト メカニズムを実装したいと思います。LPI2C ドライバ フレームワーク内でこのタイプの制御を実装するためのガイドラインまたはベスト プラクティスを提供できますか? ご協力誠にありがとうございました。 よろしくお願いいたします。 組込みコンポーネント Re: MCXA153 i2c timeout こんにちは@_Ferrari_ I2C ドライバーの LPI2C_MasterTransferNonBlocking() 関数に MSR->PLTF チェック ロジックを挿入して、ピン低タイムアウト状態を検出できます。 Alice_Yang_1-1769423981030.png よろしくお願いします。 BR アリス
記事全体を表示
UDS client implementation in S32K144EVB Is there any Existing code or example for the implementation of the UDS client in S32K144EVB Re: UDS client implementation in S32K144EVB Hello, I am working on UDS bootloader development for S32K144 using S32 Design Studio 3.4 (RTD/RTM). In an NXP Community thread, it is mentioned that the Unified Bootloader Framework (UDS over CAN/LIN TP) can be downloaded and used as a reference for UDS bootloader implementation. I have downloaded the Unified Bootloader Framework ZIP, but I need guidance on how to integrate or port it into an S32 Design Studio 3.4 project. Additionally, I found the following NXP Community ticket where a demo UDS bootloader via CAN is explained: https://community.nxp.com/t5/S32K/S32K144-Bootloader-via-CAN/m-p/1793455 Based on this, I would like clarification on whether I should continue using S32 Design Studio 3.4 for bootloader implementation or install S32 Design Studio – ARM version for this purpose. Could you please clarify the following points: Which folders/modules from the Unified Bootloader Framework are mandatory to port for a basic UDS bootloader (for example, UDS services, TP layer, CAN abstraction)? Is the Unified Bootloader Framework intended to be used only as a standalone reference, or can it be directly integrated into an existing S32DS RTD-based bootloader project? Is this framework still recommended for new designs, or is there a newer UDS/bootloader solution available for S32K devices? Any guidance or a recommended folder structure for porting would be very helpful. Thank you for your support. Re: UDS client implementation in S32K144EVB Hi @Prkh  There is a UDS bootloader: danielmartynek_0-1615892901484.png https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/s32k-automotive-mcus/s32k1-microcontrollers-for-general-purpose:S32K1?tab=Design_Tools_Tab BR, Daniel
記事全体を表示
imx8mpでrprocを使用する お元気でお過ごしでしょうか。ちょっと散発的な質問かもしれませんが、私は Yocto と異種チップについてあまり詳しくありません。どのようなご助力もいただければ幸いです。 私は imx8mp を使用するKontron ベースボードを使用しています。私は SD カードから A コア上で Yocto をビルドして実行することができ、同様に M コア上でコードを実行することができました。後者は u-Boot を使用して実行されましたが、今度はこれを rpmsg 機能を使用して rproc 制御に移行したいと考えています。 menuconfig を使用してドライバを有効にすると、Linux をロードするときに sys/class/ に remoteproc フォルダーが表示されます。しかし、空っぽです。これは、デバイス ツリーで有効になっていないことを意味していると思います。私の理解では、間違っていたら訂正してください、次の手順を実行したいのです。 デバイス ツリーを変更して、TCM 用のメモリを予約します (メールボックスを有効にします)。 取り込まれた dtb ファイルを変更するのではなく、オーバーレイを使用してこれを実行します。 これをレシピ/レイヤーを使用してカーネル ビルドに追加します。 このimx linux rproc サポートドキュメントを見つけましたが、上記のようにオーバーレイをロードする方法や異なる方法については説明されていません。 私の漠然とした質問は次のとおりです。 デバイス ツリーの方向に関して間違った方向に進んでいませんか?「完了」方法とは何ですか? 私の最終目標は、すべてを Yocto で構築し、イメージをボードにフラッシュして、それ以上のボード操作を必要とせずに済むようにすることです。これは可能ですか? より具体的な質問: Yocto ビルド時にオーバーレイを適用するにはどうすればよいですか? imx Linux rprocサポートドキュメントには、rproc DTSノードと使用メモリノードについて記載されていますか?必要な変更はこれだけでしょうか? よろしくお願いいたします! i.MX 8M | i.MX 8M ミニ | i.MX 8M ナノ Linux Yocto Project Re: Using rproc on the imx8mp こんにちは@waker 、 デバイスツリーの見方が間違っていませんか?正しいやり方は何ですか? ご指摘の通りです。正しい方法は、DT で i.MX remoteproc ノードを有効にし、ファームウェアと RPMsg が使用するメモリ領域 (ITCM/DTCM または DDR、vrings、vdev バッファ、オプションのリソース テーブル) を予約し、rpmsg-virtio が使用するメールボックス (MU) を接続することです。i.MX のカーネル rproc ドライバ (imx-rproc) はこれらの DT ノードを必要とします。存在する場合は、/sys/class/remoteproc/ の下に remoteproc0 が表示されます。 Yocto ビルド時にオーバーレイを適用するにはどうすればよいですか? その目標を達成するには、次のガイドに従ってください。 https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/How-to-use-Devshell-to-compile-device-tree-files/ta-p/1727428 https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/How-to-compile-Linux-Kernel-Image-and-device-tree-using-Yocto/ta-p/2022759 最終目標は、Yocto で全てをビルドし、イメージをボードにフラッシュするだけで、ボードの操作は一切不要になることです。これは可能でしょうか? はい、ニーズに応じて適切なパッチを生成し、そのパッチを Yocto プロジェクトに適用できます。 imx Linux rproc サポート ドキュメントには、rproc DTS ノードと使用されるメモリ ノードについて記載されています。必要な変更はこれだけですか? はい。 参考として、iMX8MP-EVK ボードのデモとデバイス ツリーを確認できます。 仮想チャネルを有効にするには、例で説明されているように、システムにカーネル モジュールをインストールする必要があります。 https://github.com/nxp-mcuxpresso/legacy-mcux-sdk-examples/tree/main/evkmimx8mp/multicore_examples/rpmsg_lite_str_echo_rtos https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/arch/arm64/boot/dts/freescale/imx8mp-evk-rpmsg.dts よろしくお願いします、 チャビラ Re: Using rproc on the imx8mp 起動時にもこれが表示されます: `[ 13.289371] プラットフォーム imx8mp-cm7: 遅延プローブが保留中` Re: Using rproc on the imx8mp ご返信ありがとうございます。デバイス ツリーをシステムにロードしました (Kontron が提供した変更されたデバイス ツリーが添付されています)。これは予約メモリディレクトリであることがわかります。 root@kontron-mx8mp:~# ls /proc/device-tree/reserved-memory/ '#address-cells' m4@0x10000000 m4@0x800000 name '#size-cells' vdev0vring1@55008000 dsp@92400000 m4@0x7E0000 m4@80000000 ranges vdev0vring0@55000000 vdevbuffer@55400000 ただし、リモート proc ディレクトリ (/sys/class/remoteproc/) は空であり、これはデバイス ツリーのメモリの問題であると読みました。どこが間違っていたのか、何かアイデアはありますか? 起動時に次のメッセージが表示されることも言及する価値があるかもしれません。 [ 13.286497] remoteproc remoteproc0: releasing imx-rproc あなたが言及した提供されたevk rpmsg dts を使用しても試しましたが、効果はありませんでした。私も同じ問題が発生しています。
記事全体を表示
INTR ピンを設定せずに KSZ8081 イーサネット PHY を使用することは可能ですか? こんにちは、みんな、 私は、KSZ8081 イーサネット PHY と lwIP スタック (lwIP ping の例に基づく) を搭載した i.MX RT1042 を使用しています。私の目標は、DHCP を使用して 8.8.8.8 などの外部サーバーに ping することです。 現在、PHY INTR ピンを GPIO/割り込み入力として設定していません。この設定では、DHCP が失敗し、IP アドレスを取得できないという問題が発生しています。ただし、PHY 割り込みピンを設定して使用すると、より確実に動作するようです。 このことから、適切なリンク/ステータスの更新と DHCP 操作には INTR ピンが必要であると考えられます。 私の質問は次のとおりです: i.MX RT1042 上の lwIP でイーサネットを正しく動作させるには、KSZ8081 INTR ピンを使用する必要があるのでしょうか? 割り込みピンを使用する代わりに、別の方法 (PHY レジスタのポーリングなど) はありますか? ポーリングが可能な場合、ENET ドライバーと lwIP を使用して適切に実装するにはどうすればよいでしょうか? INTR ピンを使用しない場合の既知の制限はありますか? あらゆるガイダンスや参考資料をいただければ幸いです。 よろしくお願いいたします!
記事全体を表示
在线客服微【xins4698】圣淘沙公司24小时在线客服申请业务办理 在线客服微【xins4698】圣淘沙公司24小时在线客服申请业务办理
記事全体を表示
PN5180 MIFARE Classicで認証できません こんにちは、 私は、Nordic MCU と PNEV5180B ボードを使用して、MIFARE Classic カード上のセクター内のブロックを読み書きするための独自のドライバーを作成しています。次の例の手順を実行できます。 1. REQA....OK 2. 衝突防止CL1.....OK 3. ......okを選択 4. 認証....エラー 認証コマンドを送信すると、0x02 (カード応答の待機タイムアウト (カードが存在しない)) が返されます。しかし、カードは存在するので、ここで提案されている例と比較しようとしましたhttps://community.nxp.com/t5/Other-NXP-Products/pn5180-mifare-authentication-key-timeout/mp/1202221しかし、問題が見つかりません。 質問 1: 他のコマンドと同様に、図やわかりやすい例を使用して認証を行う方法に関するドキュメントはありますか? 質問 2: セクターを読み取るには認証が必要ですか?認証せずに読み取ろうとしましたが、それでもうまくいきません。 ありがとう Re: PN5180 I cannot authenticate with mifare classic こんにちは、 docstore にファイルが存在しません。 Mifare Classic Crypto1 は pn5180 に実装されていないのですか? コマンド 0x0C では機能しません。 コマンド 0x09 の送信は機能しません (システム ステータスは b'\x03\x04\x00\x00' です) PN532では問題はありません。 コマンドをスニッフィングしましたが、違いはわかりません。 私は新しいリーダーを開発しており、あなたのチップは素晴らしいのですが、Mifare Classic を読み取れないのは大きな制限のように思えるので、大変残念です。 Re: PN5180 I cannot authenticate with mifare classic NDAを通過しましたが、SW666815を見つけることができませんでした。 Re: PN5180 I cannot authenticate with mifare classic こんにちは@cesarP PN518 の NDA ドキュメントはSW666815です。有効な NDA をお持ちの場合は、次の URL からダウンロードできます: https://www.docstore.nxp.com/ ドキュメント ストア アカウントの問題については、 [email protected]にお問い合わせください。 よろしくお願いいたします。 ケリー Re: PN5180 I cannot authenticate with mifare classic ご返信ありがとうございます: すでに NDA を送信しており、文書への完全なアクセス権を持っているはずですが、あなたが言及した認証例が見つかりません。どこで見つけられるか教えていただけますか? Re: PN5180 I cannot authenticate with mifare classic こんにちは@cesarP あなたの質問に対する私の答えは次のとおりです: 1. はい、その通りです。PN5180 で MIFARE CLASSIC を認証する方法の例がありますが、これはセキュリティ文書であるため、NDA に署名する必要があります。NDA に署名する必要がある場合はお知らせください。 2. 読み取りセクター 0 は認証できませんでした。他のセクターはすべて認証されて初めて読み取りまたは書き込みが可能になります。詳細については、専用のデータシートをご確認ください。 宜しくお願いします、 ケリー
記事全体を表示
溦【xins4698】华纳公司申请注册游戏账号下载网址是多少 溦【xins4698】华纳公司申请注册游戏账号下载网址是多少 LPC Marketing LPC51Uxx LPC55xx
記事全体を表示
S32K1フリートスとLWIPに関する質問 こんにちはチーム S32K1 freertos と LWIP について質問してもよろしいでしょうか? Q1.LWIP は S32K146 をサポートしていますか? Q2. freertos をインストールしようとしているのですが、エラーが発生します… LWIP ノートから以下の情報を確認したので、freertos には DS3.6 と RTD3.0.0 を使用しました。 しかし、freertos は以下のように表示され、ビルドは正常ではありません。 freertos ノートから、S32DS3.5 について表示されています。 質問は、freertos10.5.1 に適した DS バージョンはどれですか? 詳細については、以下が私の IDE の状態です。 ありがとう。 RTOS S32_CONFIG_TOOL S32DS 出典: 直接お客様 Re: Question about S32K1 freertos and LWIP こんにちは@Luke_Chun 、 S32K148 のみがイーサネットをサポートしており、S32K146 はサポートしていません。   BR リヴィウ Re: Question about S32K1 freertos and LWIP こんにちは@cuongnguyenphu はい、確認したところ、以下のように表示されています。 SO LWIPの146の可能性を確認したいと思います。 よろしくお願いします。 Re: Question about S32K1 freertos and LWIP S32K146 をサポートするかどうかについては、TCPIP スタックのリリース ノートに、そのリリースがどの派生型をサポートしているかが記載されていると思います。この情報はリリースノートで確認してください Re: Question about S32K1 freertos and LWIP こんにちは@cuongnguyenphu ご返信ありがとうございます。 以下の確認事項について質問させていただいてもよろしいでしょうか? 1. 私の質問は、LWIP が 146 をサポートしているかどうかです。 148のみサポートしているようなので、確認させていただきたいです。 2. ポート エラー: はい、主な原因はピン構成に関連しているようです。 ピン構成は 2 つのピンを使用していますが、ポートが正しくありません。 なので報告したいと思います。 ありがとう。 Re: Question about S32K1 freertos and LWIP こんにちは@Luke_Chun Flexera で S32K1 用の TCPIP スタック製品を見つけることができます: この製品は RTD チームでは取り扱われていないため、追跡を容易にするためにこのスレッドの「RTD」ラベルを削除しました。 2. S32DS のインストールに関する問題については、FreeRTOS が示すように、S32DS アップデートバージョンが正しいかどうかを確認することをお勧めします。 共有していただいたエラー画像では、問題ビューに 2 つの問題があります。 - Port_Ip_1 の命名: ピンツールの機能グループに再度名前を付けるには、この問題ビューの提案を参照してください。 - が見つかりません: 強調表示したランプ シンボルをクリックすると、このエラーを簡単に修正できます。
記事全体を表示
i.MX6x ENET suspends transfer unexpectedly with ENETx_RCR[FCE] cleared when pause frame received Hi, we are getting a problem about ethernet pause frame function: we want ENET keep transmitting data when a pause frame has been received, then i cleared ENETx_RCR[FCE] bit to disable Flow Control feature accroding to "22.6.4.7 Pause frame termination" and FCE bit definition in i.MX6x UM, but it seems that there is no difference whether FCE is cleared or not -- ENET MAC suspends transmission when a valid pause frame received. And we tested other SOCs(like xilinx Zynq) with the same PHY, the same settings, the same test tools and operation steps, it works. So is there any extra configuration steps that need to be proceeded before the test? Re: i.MX6x ENET suspends transfer unexpectedly with ENETx_RCR[FCE] cleared when pause frame receive Hi, Joseph, thanks for your response. "ethtool -A eth0 autoneg off rx off tx off" has been added to /etc/network/interface, and that will be invoked automatically everytime eth0 bring-up. And the ethtool query result as following: # # # ethtool -a eth0 Pause parameters for eth0: Autonegotiate: off RX: off TX: off # ENET_RCR: # # # devmem 0x020B4084 32 0x45F20104 # ethtool eth0 Settings for eth0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Advertised pause frame use: No Advertised auto-negotiation: No Advertised FEC modes: Not reported Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Link partner advertised pause frame use: Symmetric Receive-only Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: 100Mb/s Duplex: Full Port: MII PHYAD: 5 Transceiver: external Auto-negotiation: on Supports Wake-on: g Wake-on: d Link detected: yes #  Re: i.MX6x ENET suspends transfer unexpectedly with ENETx_RCR[FCE] cleared when pause frame receive Hi, Thank you for your interest in NXP Semiconductor products, Please try with the following command: ethtool -A eth0 rx off tx off Also, print the pause options after, then try again. Regards
記事全体を表示
[RTD600 IP] S32K3X4EVB-T172 RTI Cycle Wake-up This example project will show user how to use and configure the basic functionalities of WKPU + RTI (PIT0).  ------------------------------------------------------------------------------ * Test HW: S32K3X4EVB-T172 (SCH-53148 REV B2) * MCU: S32K344 * IDE: S32DS3.5 & S32DS3.6 * SDK release: RTD 6.0.0 * Debugger: PE Micro * Target: internal_FLASH  ------------------------------------------------------------------------------ This example routine configures the WKPU & PIT for wake-up. The PIT0 instance includes a dedicated RTI (Real Time Interrupt) timer that runs on a separate oscillator clock and can be used for system wakeup. A key feature of this is power saving with a separate input clock for the RTI timer. All other timers share a common core clock. Note: Only PIT_0 supports the RTI feature, and exists in the Standby domain. Snag_17d7ab1.png This example does not poll for a SW press to enter and configure standby; Instead, the main function directly enters the Wkpu_EnterStandby() function which: Switches core clock to FIRC. Initializes and configures WKPU instance and wake-up source 3 (RTI). Initializes and configures PIT0 and PIT0 CH0 as set in Config Tools view. If EN_RUN_ICYCL_DUTY macro is enabled, configures PIT1 for user code before going to standby. Once Pit1_Notification is entered, runFlag is set to FALSE. Turns off LED. Enables RTI channel interrupt (otherwise, MCU cannot be woken up). Finally, sets the timeout value (WKPU_ICYCL_DUTY_TIME macro) and enters standby. This showcases the basic configuration for template on a fast-scanning power saving routine (for example, wake-up, measure ADC, go back to sleep). Keep in mind that power saving depends on the frequency of wake-up events. If MCU spends more time in Run mode rather than in Standby mode, power consumption is affected. The transition time from Standby mode to Run mode is quick. If the MCU only spends 9ms in Run and 1ms in Standby, the average current of the system will be considerably higher than if the MCU was running only 1ms every 1 second. Refer to S32K3 Low Power Management AN and demos for further information. After the period defined with either WKPU_ICYCL_DUTY_TIME, MCU wakes up. After wake-up, MCU resets and the cycle repeats. This example is provided as is with no guarantees and no support.
記事全体を表示
FreeRTOS LPUART ドライバの問題 こんにちは、 私は RT1176 ベースのボードを (現在は古い) mcux-sdk で使用していますが、問題は mcuxsdk でも同じようです (本当に紛らわしい名前です!)。 Freertos-LPUART ドライバー (fsl_lpuart_freertos.c) は、LPUART_RTOS_Init 関数で HAL_UartInit (fsl_adapter_lpuart.c) を呼び出しません。代わりに LPUART_Init だけを呼び出しますが、これでは不十分です。 問題は、フィールド s_UartState (fsl_fsl_adapter_lpuart.c の 719 行目) が LPUART_Init に書き込まれていないため、UART からの受信割り込みが発生するとアサーションが発生することです。 アサート エラー "NULL != uartHandle ": ファイル "D:\usr\TQM\mcuxsdk\core\components\uart\fsl_adapter_lpuart.c"行「433」関数名「HAL_UartInterruptHandle」 それで、このドライバーがどのように動作するのか疑問に思います。なぜなら、割り込みドライバーのハンドルの配列 s_UartState が読み取られるからです (そして、それは NULL です)。 SO、私が何か間違ったのでしょうか、それともこのドライバに問題があるのでしょうか?LPUARTS 用のより低い API ドライバを使用するには、コードを書き直す必要があるかもしれません。 ありがとう、さようなら オリバー i.MX RT Re: FreeRTOS LPUART driver problem こんにちは、 最新の mcux-sdk を備えた VSCode プラグインを使用しています。私たちは TQMa117xL ベースのボードを使用していますが、残念ながら BSP はまだ mcuxsdk に対応していません。 つまり、現時点では mcuxsdk でテストすることはできませんが、将来的には変更する予定です。 言及された例は新しいものですが、mcux-sdk では見つかりませんか?調べてみます。 アサーションは Init 関数の直後に発生します。 lpuart_rtos_config_t mSerConfig; lpuart_rtos_handle_t mRtosHandle; _lpuart_handle mUartHandle; mRtosHandle = {}; mUartHandle = {}; mSerConfig = {}; mSerConfig.srcclk = CLOCK_GetRootClockFreq(kCLOCK_Root_Lpuart9); mSerConfig.base = LPUART9; mSerConfig.baudrate = aBaudrate; mSerConfig.parity = kLPUART_ParityDisabled; mSerConfig.stopbits = kLPUART_OneStopBit; mSerConfig.buffer = mReadBuf; mSerConfig.buffer_size = sizeof(mReadBuf); mSerConfig.enableRxRTS = true; mSerConfig.enableTxCTS = true; int status = LPUART_RTOS_Init(&mRtosHandle, &mUartHandle, &mSerConfig); コードは C++ クラス内にありますが、init コードを例と比較します。 さよなら、 オリバー Re: FreeRTOS LPUART driver problem こんにちは@Oliver_Rさん、 次の質問について教えていただけますか? VS Code または MCUXpresso を使用していますか? mcuxsdk でテストすると、問題は解決しますか? VS Code には、evkbmimxrt1170_freertos_lpuart_cm7 というサンプル プロジェクトがあります。あなたのハードウェアで動作するかどうかのテストを手伝ってもらえますか? よろしくお願いします、 パブロ Re: FreeRTOS LPUART driver problem こんにちは、 その間に、これが FreeRTOS-Uart ドライバだけでなく、基礎となる lpuart ドライバにも関連していることが分かりました。 残念ながら、SDKドキュメントやフォーラムではHAL_Uartドライバーに関する情報は見つかりませんでした。 HAL_Uartxxx-API (fsl_adapter_lpuart.c) が必要な理由は何ですか?なぜ、いつ使用すればよいのでしょうか?SDK 全体で HAL_UartInit を使用しているソースは、debug_console_lite フォルダー内の fsl_component_serial_port_uart.c と fsl_debug_console.c の 2 つだけです。 この API に関する問題は、fsl_adapter_lpuart.c が「HAL_UART_TRANSFER_MODE=1」を定義せずにコンパイルされると、すべての lpuart 割り込みがこのソースで定義され、受信 IRQ でのアサーションを回避するために HAL_UartInit を使用する必要があることです。また、IRQ はすでに定義されているため、独自の IRQ を登録する必要はなくなりました。 しかし、すべての UART の例では HAL_UART_TRANSFER_MODE=1 が設定されておらず、一部の例では独自の IRQ が定義されているため、これがどのように機能するのか疑問に思います。DEBUG_CONSOLE_TRANSFER_NON_BLOCKING を定義していますが、「utility_debug_console_lite」コンポーネントは使用していません。 ところで、「utility_debug_console」と「utility_debug_console_lite」の違いは何でしょうか?SDK ドキュメントは両方のコンポーネントで同じですか? このドライバー コード全体を理解するのは非常に困難です。プリプロセッサ マジックが非常に多く、ドキュメントが非常に少ないためです。 SO、ソース「fsl_adapter_lpuart.c」は、lpuart IRQ を望ましくない方法で定義し、デバッグ コンソール lpuart 以外の lpuart を使用するときにアサーションを引き起こすため、コンパイルしてはならないという印象を受けます。 さよなら、 オリバー Re: FreeRTOS LPUART driver problem ハイ この問題は freertos の実装ではなく、lpuart ドライバに直接起因しているようだと述べています。 LPUART の例をベアメタルでテストすると動作しますか? MCUXpresso を使用してこれをテストすることもできますか? utility_debug_console と utility_debug_console_lite の詳細な説明は、SDK API リファレンス・マニュアルに記載されています。 MCUXpresso SDK APIリファレンス・マニュアル: デバッグコンソール MCUXpresso SDK APIリファレンス・マニュアル: デバッグコンソールLite よろしくお願いします、 パブロ Re: FreeRTOS LPUART driver problem そこで、何時間もかけてドライバ コードをデバッグし、UART コードのすべてのプリプロセッサ マジックを理解しようとした結果、ようやくこの動作の理由が分かりました。そして、それは確かに FreeRTOS API とは関係ありません。 SDK の hello world の例に記載されているフラグを設定すると、問題が発生します。 「高度なデバッグ コンソール ユーティリティを使用するには、プロジェクトで DEBUG_CONSOLE_TRANSFER_NON_BLOCKING を定義するだけです。」 非ブロッキング コンソールはコードのタイミングをそれほど妨げないので、そうするのは良いアイデアだと思いました。しかし、このオプションには、どこにも言及も文書化もされていない壊滅的な副作用があります。 スタートアップ コード (startup_mimxrt1176_cm7.c) は、LPUART IRQ を次のように定義します。 WEAK void LPUART10_IRQHandler(void) { LPUART10_DriverIRQHandler(); } SO、IRQ は LPUART ドライバーにルーティングされますが、これは問題ありません。 ただし、DEBUG_CONSOLE_TRANSFER_NON_BLOCKING を定義すると、fsl_adapter_lpuart.c ですべての LPUART の IRQ (コンソール LPUART1 の IRQ だけでなく) が上書きされ、次のようになります。 void LPUART10_IRQHandler(void); void LPUART10_IRQHandler(void) #endif /* LP_FLEXCOMM10 */ { HAL_UartInterruptHandle(10); SDK_ISR_EXIT_BARRIER; } #endif #endif /* LPUART10 */ HAL_UartInterruptHandleには次の行があります hal_uart_state_t *uartHandle = s_UartState[instance]; HAL_UartInit を使用していない場合は、その後アサーションが発生します。 言い換えると、DEBUG_CONSOLE_TRANSFER_NON_BLOCKING を設定すると、既存の (HAL_xxx 以外の) UART コードがすべて失敗します。 ドライバ コードを確認してください。これは本当に悪い、侵入的、悪意のあるオプションであり、実際に使用する場合は、厳重な警告を出す必要があります。 私の意見では、この定義は副作用がひどいので SDK から削除する必要があります。どの SDK サンプルでもこのオプションが設定されていないのは不思議ではありません。 残念ながら、私の質問のいくつかには誰も答えてくれなかったので、もう一度ここに書きます。 1.HAL_Uartxxx-API (fsl_adapter_lpuart.c) が必要な理由は何ですか?なぜ、いつ使用すればよいのでしょうか? 2. 「utility_debug_console」と「utility_debug_console_lite」の違いは何ですか?SDK ドキュメントは両方のコンポーネントで同じですか? したがって、SDK ドキュメントを再度示さないでください。すでに読んでいますが、「完全な説明」には違いについて何も記載されていません。 さよなら、 オリバー Re: FreeRTOS LPUART driver problem こんにちは、 HAL に関しては、通常、異なる MCU プラットフォーム間での移植性が必要な場合に使用されます。 詳細については、「MCUの潜在能力を拡張するには新しい考え方が必要な理由 | NXP Semiconductors」をご覧ください。 サポートされるデバッグ コンソールのハードウェア デバイス タイプはそれぞれ異なり、UART (lite) のみをサポートするものもあれば、UART、USB、および SWO をサポートするものもあります。 ドキュメントの Web ページに記載されている内容としては、たとえば、API を使用するために必要なパラメーターであるシリアル インターフェースがサポートされていること、たとえば、Advance の場合はインターフェースに応じて情報がどのように印刷されるかを示す完全な表があり、Lite では同数のインターフェースがサポートされていないため、表示される情報は限られていることなどが挙げられます。 他にご質問がございましたらお知らせください よろしくお願いします、 パブロ
記事全体を表示
hse ab_swap モードで、ハンドシェイクが偽であるために hse fw が失われた場合、C/R ADKP も偽ですか? こんにちは、みんな! ab_swapモードのチャレンジレスポンスADKPについて質問があります m0コアとm7コアのハンドシェイクが失敗するとHSE fwが失われることはわかっています このイベントが発生した場合、C/R ADKP はどのように機能しますか? C/R ADKP はチャレンジ値を暗号化するために HSE AES サービスを必要とすると思います。fw が失われた場合、hse は機能せず、チップは完全にロックされますか? よろしく〜 Re: in hse ab_swap mode,when hse fw lost due to handshake false,is C/R ADKP falshe too? 注意してください HSE-B ファームウェア リファレンス マニュアル - V2.7 2.6.1.3回復モード
記事全体を表示
当 SDK 示例按预期运行时 FlexPWM 中断在 Zephyr 中未触发 Zephyr4.3.0 MCUExpresso SDK2.16 用于示例 AN14196 的应用笔记 板使用了 mcx_n9xx_evk/ mcxn947/cpu0 说明: 我试图在 Zephyr OS 中复制一个 NXP SDK FlexPWM 示例。主要目标是重现 SDK 行为: 使用 FlexPWM 外设生成一个简单的 PWM 信号。 在计算指定数量的 PWM 边缘后(通过 E-捕获)执行回调(中断处理程序)。 SDK 行为(工作): 使用 SDK pwm.c 示例,可以正确生成 PWM 信号。 FlexPWM 中断如期触发。 一旦达到配置的边数,回调函数就会执行。 Zephyr 行为(问题): 使用 Zephyr,我能够利用 FlexPWM 外设成功生成 PWM 信号。 但是,FlexPWM 中断永远不会被触发,也永远不会执行回调函数。 (IRQ_CONNECT(120, 0, FLEXPWM1_SUBMODULE0_IRQHandler, NULL, 0);用于将中断线路连接到 IRQHandler ) 迄今已完成的调试和调查: 我比较了 FlexPWM 寄存器之间的配置: SDK 示例(pwm.c) Zephyr 应用程序(main.c) 在外设设置阶段,所有相关寄存器的值似乎都匹配。 我禁用了 Zephyr 电源管理单元,通过添加以下配置来确保 CPU 不会进入低功耗状态   CONFIG_PM=n CONFIG_PM_DEVICE=n 此更改并未影响行为——中断仍未触发。 引脚上的 PWM 输出正确,这表明外设时钟和基本配置正常。 问题/求助: 在启用 FlexPWM 中断(例如 IRQ 配置、ISR 注册、时钟门控或 NVIC 设置)时,是否有与 SDK 不同的 Zephyr 特定要求? 为了确保 FlexPWM 中断得到正确路由和处理,在 Zephyr 中是否还需要执行其他操作? Zephyr 中是否存在已知限制或缺少对 FlexPWM 边沿计数中断的支持? 如能就如何在 Zephyr 中正确启用和处理 FlexPWM 中断提供指导,将不胜感激。 谢谢! Re: FlexPWM interrupt not triggering in Zephyr while SDK example works as expected 你好@wima88 编译后,请检查 .config 文件,确认中断已启用。 你也可以发给我,我帮你检查。   谢谢。   BR 爱丽丝     Re: FlexPWM interrupt not triggering in Zephyr while SDK example works as expected 嗨,爱丽丝 、 我扫描了 .config并没有发现任何可疑之处。我上传了 .config因为不支持 .config,所以必须重命名)。 在进一步调查 Zephyr 基本设置后,我发现 Zephyr 和 MCUX SDK 在行为上存在以下差异: 尽管 Zephyr 和 SDK 之间的 FlexPWM 寄存器配置和值相同,但初始化后,Zephyr 中的外围设备本身永远不会触发中断。 在 MCUX SDK 中,我可以观察到SM0STS 寄存器位 CFB0 和 CFB1 被周期性设置,从而产生了预期的中断行为。 在 Zephyr 中,这些相同的状态位(SM0STS->CFB0 和 SM0STS->CFB1)从未被设置,尽管如此: 外设设置相同 PWM 输出正确 在初始外设设置期间,SDK 和 Zephyr 都会自动设置一次这些位,并且在初始设置期间,两个环境都会执行一次 IRQ 处理程序。 不过,在执行初始 IRQ 之后,Zephyr 将不再拨动中断状态位,也不会再发生中断。 与此相反,MCUX SDK 会继续定期切换这些状态位,从而导致重复的中断回调。 这表明,尽管在 Zephyr 中初始中断路径是正常的,但之后 FlexPWM 外设不会继续产生中断事件,尽管寄存器配置完全相同。 如果能深入了解为什么 FlexPWM 状态位(CFB0/CFB1)没有在 Zephyr 中设置,或者是否需要额外的 Zephyr 特定处理以启用定期中断生成,我们将不胜感激。 Re: FlexPWM interrupt not triggering in Zephyr while SDK example works as expected 你好@wima88 感谢您的耐心等待。我向我们内部的 Zephyr 专家进行了确认。在您的项目中,您使用的是 MCUXpresso SDK 驱动程序,而不是 Zephyr 驱动程序。这可能会造成潜在的冲突。 您的应用程序使用 Flexcomm1 子模块 0,FRDM-MCXN947 板的 Zephyr 设备树中也启用了该子模块 0。如果启用,Zephyr 将在 main() 执行之前在启动代码中初始化FlexPWM 驱动程序。 因此,如果您选择像现在这样在应用程序中配置 FlexPWM,则应禁用 devicetree 中的 FlexPWM 节点,以避免冲突。 谢谢! BR 爱丽丝 Re: FlexPWM interrupt not triggering in Zephyr while SDK example works as expected 谢谢。我知道可能会有冲突,因为 Zephyr 会在执行 main() 之前初始化 FlexPWM 驱动程序。 不过,我需要验证一点:如果我没弄错的话,Zephyr 的 devicetree 也在通过 pinctrl 处理引脚复用器配置。如果我禁用了设备树中的flexpwm1节点以避免冲突,那么我是否需要在我的应用程序代码中手动设置引脚复用器配置,还是即使禁用了该节点,pinctrl设置也会保持活动状态?   维曼沙 Re: FlexPWM interrupt not triggering in Zephyr while SDK example works as expected 你好@wima88 ” 如果我没错的话,Zephyr 的 devicetree 也在通过 pinctrl 处理引脚多路复用器配置。如果我禁用设备树中的 flexpwm1 节点以避免冲突,那么我是否需要在我的应用程序代码中手动设置引脚复用器配置,“ ->> 是的。 BR 爱丽丝
記事全体を表示
i.MX93 JTAGデバッグ i.MX93 の JTAG デバッグに openocd を使用したいのですが、プロセッサが境界スキャン モードになっているようです (IDCODE 0x5ba02477 ではなく 0x0892801d)。 DEBUG モードに切り替えるには何をする必要がありますか? 利用できる openocd 構成ファイルはありますか? ローター・ヴァスマン Re: i.MX93 JTAG debugging こんにちは@Zhiming_Liu FRDM i.MX93 開発ボードに必要な OpenOCD ファイルを送っていただけますか?私はボードファイルとSoCのファイル、そして私が必要とする他のファイルが欲しいです FRDM-i.MX93 Re: i.MX93 JTAG debugging Zhiming_Liu さん、こんにちは。 私にも送っていただけますか? よろしくお願いいたします。 クリスチャン Re: i.MX93 JTAG debugging openocd パッチも共有してもらえますか? Re: i.MX93 JTAG debugging こんにちは 劉志明、 私にも送っていただけますか? よろしくお願いいたします。 ロベルト Re: i.MX93 JTAG debugging このパッチは公開されましたか?どこかで入手できるでしょうか? Re: i.MX93 JTAG debugging こんにちは。私にもパッチを送ってください。 imx93 製品ページでダウンロードできるようにしたり、さらに良い方法として、openocd プロジェクトにプルリクエストを送信したりするほうが簡単ではないでしょうか? Re: i.MX93 JTAG debugging こんにちは 劉志明、 openocd のパッチを共有していただけますか。 よろしくお願いいたします。 Re: i.MX93 JTAG debugging Zhiming_Liu さん、こんにちは。 openocd のパッチも送っていただけますか。 どうもありがとう。 JS Re: i.MX93 JTAG debugging こんにちは@Zhiming_Liu そのパッチを@torus1000にも送っていただけますか? Re: i.MX93 JTAG debugging Zhiming_Liu さん、こんにちは。 openocd のパッチを共有していただけますか。 よろしくお願いいたします。 VR。 Re: i.MX93 JTAG debugging 添付ファイル付きのメールが届きませんでした。このスレッドからの通知メールのみです。 Re: i.MX93 JTAG debugging こんにちは@lw1 添付ファイルを電子メールで送信しました。 Re: i.MX93 JTAG debugging 何の添付ファイルですか? Re: i.MX93 JTAG debugging こんにちは@lw1 電子メールの添付ファイルを参照するOpenOCDにパッチを当てる必要があります
記事全体を表示
i.MX RT1060 QTMR カスケードモード(入力キャプチャ付き) - 上限カウントなし 32 ビット カウンターの 2 つの TMR チャネルをカスケード接続すると、入力キャプチャが正常に動作しないようです。入力キャプチャは、1 つのチャネルのみを使用する場合は正常に機能しますが、チャネルをカスケードしようとすると機能しません。 1.TMR1 ch0 および ch1 構造が定義されています。TMR1 ch0のクロックソースはkQTMR_ClockDivide_1、TMR2 ch1のクロックソースはkQTMR_ClockCounter0Outputです。 2. qtmr_begin はチャネルを初期化します。フリーランニングに設定されています。TMR1 IRQが有効です。入力キャプチャに対して TMR1 割り込みが有効になります。タイマーが開始されます。 getCount を呼び出すと、上位カウント (チャネル 1) に対して 0 のみが返されます。それ以外の場合、上位カウントを無視すると、下位カウントは常に正しいものになります。 const qtmr_config_t QuadTimer_1_Channel_0_config = { .primarySource = kQTMR_ClockDivide_1, .secondarySource = kQTMR_Counter0InputPin, .enableMasterMode = false, .enableExternalForce = false, .faultFilterCount = 0, .faultFilterPeriod = 0, .debugMode = kQTMR_RunNormalInDebug }; const qtmr_config_t QuadTimer_1_Channel_1_config = { .primarySource = kQTMR_ClockCounter0Output, .secondarySource = kQTMR_Counter0InputPin, .enableMasterMode = false, .enableExternalForce = false, .faultFilterCount = 0, .faultFilterPeriod = 0, .debugMode = kQTMR_RunNormalInDebug }; void qtmr_begin() { QTMR_Init(TMR1, kQTMR_Channel_0, &QuadTimer_1_Channel_0_config); QTMR_Init(TMR1, kQTMR_Channel_1, &QuadTimer_1_Channel_1_config); /* Ensure free-running (no stop at compare) */ TMR1->CHANNEL[kQTMR_Channel_0].CTRL &= ~TMR_CTRL_LENGTH_MASK; TMR1->CHANNEL[kQTMR_Channel_1].CTRL &= ~TMR_CTRL_LENGTH_MASK; /* Setup the input capture */ QTMR_SetupInputCapture(TMR1, kQTMR_Channel_0, QTMR_CounterInputPin, false, true, kQTMR_RisingEdge); /* Enable at the NVIC */ EnableIRQ(TMR1_IRQn); /* Enable timer compare interrupt */ QTMR_EnableInterrupts(TMR1, kQTMR_Channel_0, kQTMR_EdgeInterruptEnable); QTMR_StartTimer(TMR1, kQTMR_Channel_0, kQTMR_PriSrcRiseEdge); QTMR_StartTimer(TMR1, kQTMR_Channel_1, kQTMR_CascadeCount); } void TMR1_IRQHandler(void) { QTMR_ClearStatusFlags(TMR1, kQTMR_Channel_0, kQTMR_EdgeFlag); qtmrIsrFlag = true; } void getCount(void) { // Discard the first capture for (int i = 0; i < 2; i++) { while (!qtmrIsrFlag) { } qtmrIsrFlag = false; uint16_t lowerCount = TMR1->CHANNEL[kQTMR_Channel_0].CAPT; uint16_t upperCount = TMR1->CHANNEL[kQTMR_Channel_1].HOLD; uint32_t counterValue = ((uint32_t)upperCount << 16) | lowerCount; } } i.MXRT 106x Re: i.MX RT1060 QTMR Cascade mode w/ Input Capture - No Upper Count 私はこれをある程度理解しました。上位 (チャネル 1) のカウントを読み取るために間違ったレジスタを使用していました。HOLD レジスタは、カスケード チャネルのカウントを保持するのではなく、ハードウェアまたはソフトウェアの特定のイベント中にカウンター値を保存するために使用されます。通常は、イベントを同期したり、以前の値を保持したりするために使用されます。 単に CNTR レジスタを読み取る必要があります。IRQ ハンドラーですぐに読み取ることも、直後に読み取ることもでき、下位 16 ビットに同期されます。 しかし、私が理解できない別の問題が見つかりました。チャネル 1 のタイマーを 0 にリセットすると、カウントは常に 0 ではなく 1 から開始されます。SO、キャプチャされた時間は、(チャネル 1) の上位カウントで常に 1 ずれます。これを補うために、正しいカウントを取得するには、チャネル 1 のカウンターを 0xFFFF にリセットする必要があります。なぜ? const qtmr_config_t QuadTimer_1_Channel_0_config = { .primarySource = kQTMR_ClockDivide_1, .secondarySource = kQTMR_Counter0InputPin, .enableMasterMode = false, .enableExternalForce = false, .faultFilterCount = 0, .faultFilterPeriod = 0, .debugMode = kQTMR_RunNormalInDebug }; const qtmr_config_t QuadTimer_1_Channel_1_config = { .primarySource = kQTMR_ClockCounter0Output, .secondarySource = kQTMR_Counter0InputPin, .enableMasterMode = false, .enableExternalForce = false, .faultFilterCount = 0, .faultFilterPeriod = 0, .debugMode = kQTMR_RunNormalInDebug }; void qtmr_begin() { QTMR_Init(TMR1, kQTMR_Channel_0, &QuadTimer_1_Channel_0_config); QTMR_Init(TMR1, kQTMR_Channel_1, &QuadTimer_1_Channel_1_config); /* Ensure free-running (no stop at compare) */ TMR1->CHANNEL[kQTMR_Channel_0].CTRL &= ~TMR_CTRL_LENGTH_MASK; TMR1->CHANNEL[kQTMR_Channel_1].CTRL &= ~TMR_CTRL_LENGTH_MASK; /* Setup the input capture */ QTMR_SetupInputCapture(TMR1, kQTMR_Channel_0, QTMR_CounterInputPin, false, true, kQTMR_RisingEdge); /* Enable at the NVIC */ EnableIRQ(TMR1_IRQn); /* Enable timer compare interrupt */ QTMR_EnableInterrupts(TMR1, kQTMR_Channel_0, kQTMR_EdgeInterruptEnable); QTMR_StartTimer(TMR1, kQTMR_Channel_1, kQTMR_CascadeCount); QTMR_StartTimer(TMR1, kQTMR_Channel_0, kQTMR_PriSrcRiseEdge); } void TMR1_IRQHandler(void) { QTMR_ClearStatusFlags(TMR1, kQTMR_Channel_0, kQTMR_EdgeFlag); qtmrIsrFlag = true; } void getCount(void) { // Discard the first capture uint16_t lowerCount; uint16_t upperCount; uint32_t counterValue; for (int i = 0; i < 2; i++) { /* Reset channel 1 count to 0 - for some reason we have to reset to one value before or the count is off by 1...so we reset to 0xFFFF */ TMR1->CHANNEL[kQTMR_Channel_1].CNTR = 0xFFFF; while (!qtmrIsrFlag) { } qtmrIsrFlag = false; lowerCount = TMR1->CHANNEL[kQTMR_Channel_0].CAPT; upperCount = TMR1->CHANNEL[kQTMR_Channel_1].CNTR; counterValue = ((uint32_t)upperCount << 16) | lowerCount; } } Re: i.MX RT1060 QTMR Cascade mode w/ Input Capture - No Upper Count こんにちは@azone 、 弊社の製品にご興味をお持ちいただき、またコミュニティをご利用いただき誠にありがとうございます。 QTMR カスケード モードと入力キャプチャの併用に関するご質問に基づいて検証テストを行いました。 ハードウェア: MIMXRT1060‑EVKB、入力信号をJ33-6に接続します。 ソフトウェア: QTMR3 チャネル 0 とチャネル 1 をカスケード モードで構成 この設定を使用すると、カウンターがカスケードされている間も入力キャプチャは正常に機能します。 エッジ割り込みフラグが設定されている場合は、キャプチャレジスタを読み取ることができます。 mayliu1_0-1768206759574.png BOARD_QTMR_BASEADDR->チャネル[BOARD_QTMR_INPUT_CAPTURE_CHANNEL0].CAPT; および BOARD_QTMR_BASEADDR->チャネル[BOARD_QTMR_INPUT_CAPTURE_CHANNEL1].CAPT; よろしくお願いいたします。 メイリュー Re: i.MX RT1060 QTMR Cascade mode w/ Input Capture - No Upper Count こんにちは。返信ありがとうございます。設定から、カスケード チャネル 1 のカウントを取得する最適な方法は、CNTR レジスタの読み取りに頼るのではなく、このチャネルの入力キャプチャも設定して CAPT レジスタを読み取ることであることがわかります。 これは機能します。しかし、チャネル 1 では依然として値が 1 つ高くカウントされます。私は SDK の API を使用しており、直接レジスタを操作しているわけではありませんが、私の設定はあなたの設定と同じようです。 何が起こるかの例として、150MHz の TMR クロックで 1kHz 信号を入力すると、150,000 というカウントが予想されます。これは、上位 16 ビットのカウントが '2'、下位 16 ビットのカウントが '18928' = 150,000 になります。ただし、上限は「3」になります。測定されたどの周波数でも常に +1 ずれます。なぜそうなるのでしょうか? const qtmr_config_t QuadTimer_1_Channel_0_config = { .primarySource = kQTMR_ClockDivide_1, .secondarySource = kQTMR_Counter0InputPin, .enableMasterMode = false, .enableExternalForce = false, .faultFilterCount = 0, .faultFilterPeriod = 0, .debugMode = kQTMR_RunNormalInDebug }; const qtmr_config_t QuadTimer_1_Channel_1_config = { .primarySource = kQTMR_ClockCounter0Output, .secondarySource = kQTMR_Counter0InputPin, .enableMasterMode = false, .enableExternalForce = false, .faultFilterCount = 0, .faultFilterPeriod = 0, .debugMode = kQTMR_RunNormalInDebug }; void qtmr_begin() { CLOCK_EnableClock(kCLOCK_Timer1); QTMR_Init(TMR1, kQTMR_Channel_0, &QuadTimer_1_Channel_0_config); QTMR_Init(TMR1, kQTMR_Channel_1, &QuadTimer_1_Channel_1_config); /* Explicitly disable secondary source - not supported in API and not necessary but doing it anyways */ TMR1->CHANNEL[kQTMR_Channel_0].CTRL &= ~TMR_CTRL_SCS_MASK; TMR1->CHANNEL[kQTMR_Channel_1].CTRL &= ~TMR_CTRL_SCS_MASK; /* Ensure free-running (no stop at compare) */ TMR1->CHANNEL[kQTMR_Channel_0].CTRL &= ~TMR_CTRL_LENGTH_MASK; /* Setup the input capture */ QTMR_SetupInputCapture(TMR1, kQTMR_Channel_0, kQTMR_Counter0InputPin, false, true, kQTMR_RisingEdge); QTMR_SetupInputCapture(TMR1, kQTMR_Channel_1, kQTMR_Counter0InputPin, false, true, kQTMR_RisingEdge); /* Enable at the NVIC */ EnableIRQ(TMR1_IRQn); /* Enable timer compare interrupt */ QTMR_EnableInterrupts(TMR1, kQTMR_Channel_0, kQTMR_EdgeInterruptEnable); } void TMR1_IRQHandler(void) { uint16_t lowerCount; uint16_t upperCount; QTMR_ClearStatusFlags(TMR1, kQTMR_Channel_0, kQTMR_EdgeFlag); qtmrIsrFlag = true; lowerCount = TMR1->CHANNEL[kQTMR_Channel_0].CAPT; upperCount = TMR1->CHANNEL[kQTMR_Channel_1].CAPT; // UPPER COUNT IS ALWAYS OFF BY +1 } void getCount(void) { uint32_t counterValue; while (!qtmrIsrFlag) { } qtmrIsrFlag = false; counterValue = ((uint32_t)upperCount << 16) | lowerCount; } } Re: i.MX RT1060 QTMR Cascade mode w/ Input Capture - No Upper Count こんにちは@azoneさん、 最新情報をありがとうございます。 あなたの新しい質問に関して、私もテストをしました。150MHzのTMRクロックで1kHzの信号を入力すると、正しい値が得られます。 HW: MIMXRT1060-EVKB、J33-6に1KHZ信号を入力します。 SW: 前回の投稿を参照してください。 mayliu1_2-1768290894570.png mayliu1_1-1768290710042.png よろしくお願いします メイリュー Re: i.MX RT1060 QTMR Cascade mode w/ Input Capture - No Upper Count わかりました。テストしていただきありがとうございます。設定にエラーがあるはずです。ハードウェアを変更して、16 ビット QTMR の代わりに 32 ビット GPT を使用することができたので、カスケード モードを使用する必要がなくなりました。ただし、これを見るかもしれない他の人を助けるために、少し時間をかけてエラーを探し、この投稿を更新してみようと思います。
記事全体を表示
LPC5536:我在真正的漏极开路引脚上测量 VCC。 你好 LPC55(S)xx 系列有两个真正的漏极开路引脚: https://www.nxp.com/docs/en/application-note/AN13033.pdf PIO0_13 和 PIO0_14 是真正的漏极开路引脚。 我用自己的 LPC5536 板测试了这个: 当我不配置 PIO0_13(64 引脚封装上的引脚 #46)时,该引脚处于浮空状态(即高阻抗,如数据表中所述 " Z ")。 当我将 PIO0_13 配置为 GPIO 并输出时,当设置为高电平时,我测量到的电压为 3.3 V(即 VCC)。 我想知道这是为什么? 数据表显示"真正的开漏引脚。[...] 该引脚需要外部上拉才能提供输出功能。 [开漏配置适用于该引脚的所有功能。" 换句话说,只要该引脚未连接到外部电路,该引脚上就不应有任何电压。 知道我为什么要测量这个电压吗? 谢谢。 丹尼尔 Re: LPC5536: I measure VCC at true open drain pins. 由于恩智浦管理层的高超智慧,编辑时间窗口已缩短至几分钟。因此,我必须单独添加这个帖子: 只有当我明确将引脚PIO0_13配置为漏极开路时(通过引脚工具),该引脚才会表现为漏极开路。 如果这种行为是预料之中的,那么我就不明白数据手册中的说法,即该引脚上没有独立于所选功能的输出(或者数据手册的说法不正确)。 请注意以下观察结果:如果 PIO0_13 配置为 OD 并设置为高电平,我可以轻松地 " 将 " 这个引脚(例如,触摸它)浮动到比如 6 V 的电压。这远远超出了 " 普通 " GPIO 引脚所允许的范围。通常 " 普通 " 引脚会实现保护二极管,保护二极管会将电压降低到 3,3 V + Vforward,如参考手册中所述: danielholala_0-1767880597403.png 因此,这也许就是"真正的开漏" 引脚与"普通" 引脚的区别? 如有任何意见,我们将不胜感激。 干杯 Daniel Re: LPC5536: I measure VCC at true open drain pins. 你好,丹尼尔、 您能帮助我们分享以下信息吗? 您正在测试 SDK 示例吗? 你在使用恩智浦板还是 LPC5536 定制板?如果是这样,您能否在示意图中与我们分享您与 PIO0_13 的连接? 您能为我们提供有关这枚勋章用途的信息吗? 在参考手册第 7.2.1 章功能中,评论说 PIO_13 和 PIO_14 是 I2C/MFIO(多功能输入输出)的组合,这是与标准引脚配置 [MFIO] 的区别;在第 7.3 章中,[图 8] 是该配置的示例,以与标准 GPIO 引脚配置进行比较 [图 7]。 此外,要审查您的定制电路板设计以及硬件设计指南 [AN13707],恩智浦建议您查看EVK电路板设计文件进行验证。 LPC5536 EVK 板文件的链接在这里 LPC5536-EVK 设计文件 在评估板中,P0_13和P0_14连接到上拉电阻,因此预计测量电压为3.3V,并且只有在配置后才会起到开路漏极的作用。 顺祝商祺!
記事全体を表示
SC18IS606 SPI電圧ロジックレベル データシートには、IO ピンは 5V 耐性があると記載されていますが、IC 内部で何が起こるかは不明です。5V I2C ロジック レベルが 5V SPI ロジック レベルを意味するかどうかを知りたいです。それは単なるバッファですか、それともロジック レベルが IC の電源電圧に変更されますか? Re: SC18IS606 SPI voltage logic level Hello すべては供給電圧に依存します。SC18IS606 は、1.71 V ~ 3.6 V の VDD で動作します。MISO を除くすべての I/O ピンは 5 V 耐性があります。つまり、VDD が 1.71 V 以上であれば、チップを損傷することなく最大 5 V の信号を適用できます。最大 5 V の入力を受け入れますが、チップ内部は VDD で動作します。SPI 出力は 5 V ではなく VDD レベルです。
記事全体を表示
MCXA346 3路ADC同步采集的问题 你好 我看了数据手册MCXA有4个ADC,然后手册上写ADC0可以触发所有的ADC采集再同一时刻。 所有我在frdmmcxa346_lpadc_trigger_exception例程的基础上,加上了Ctimer0的MR1,0.5ms周期性触发ADC采集,每个ADC配置的采集1个通道。 现在的问题是只能进入ADC0的中断(是按照定时器周期触发的),ADC1和ADC2中断进不去。 这个同步采集,是这样用的吗?难道是我理解错了吗? 我把我的工程附在附件里了。 MCXA Re: MCXA346 3路ADC同步采集的问题 你好@346500452 我查看了您的代码。请进行以下更改,然后进行测试: 为 ADC2 启用硬件触发信号。 将 ADC1 和 ADC2 配置为同时使用触发信号控制寄存器 0。在 INPUTMUX 中,路由到 ADC1_TRIG0 和 ADC2_TRIG0。 Alice_Yang_0-1767845363629.png Alice_Yang_1-1767845368287.png 如果仍不工作,则禁用 ADC0 和 ADC2,并检查 ADC1 是否正常工作。 谢谢! BR 爱丽丝 Re: MCXA346 3路ADC同步采集的问题 你好,爱丽丝     谢谢。我已经解决了上述的问题。     需要补充的一点是,在debug的时候,需要开启overflow中断,并rst FIFO,否则会在debug暂停的时候产生overflow,而且ADC会自动停止。全速运行时不会存在这个问题。 if (status & kLPADC_ResultFIFO0OverflowFlag) { LPADC_ClearStatusFlags(ADC0, kLPADC_ResultFIFO0OverflowFlag); LPADC_DoResetFIFO(ADC0); } 下一步,我打算加上DMA来搬运ADC完成采集的数据,我现在是用的3路ADC,是需要用DMA的3个通道来搬运吗,有其他更好的方法吗?     谢谢 Re: MCXA346 3路ADC同步采集的问题 Hello @346500452  是的,需要3个通道DMA来搬运。因为您使用的是3个ADC并发,每个ADC需要各自的DMA通道。 BR Alice
記事全体を表示
Rev.G Vybrid Tower 主板的非官方用户手册。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Rev.G Vybrid Tower 主板的非官方用户手册。 (如果加载不正确,请跳过第 1 页 - 那里只有标题。) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Rev.G Vybrid Tower 主板的非官方用户手册。 (如果加载不正确,请跳过第 1 页 - 那里只有标题。) OpenSDA 塔板 VF6xx
記事全体を表示