問題タブ [mikroc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1949 参照

ethernet - DHCPサーバーに接続してIPアドレスを取得

DHCP サーバーから PIC 18F4520 デバイスへの IP アドレスを取得したいのですが、mikroc SPI イーサネット ライブラリを使用して PIC をプログラムしました。コードを作成しましたが、機能しません。IPアドレスを取得してLCDに表示したいのですが、どうすればいいですか?

0 投票する
1 に答える
2756 参照

c - rand() 関数は mikroc に存在しますか?

mikroC で rand() C++ 関数を実装するにはどうすればよいですか?

rand() を試しましたが、動作しません...これを解決する方法がわかりません

0 投票する
0 に答える
3478 参照

c - PIC 18F46K22、MikroC: USART 割り込みを実装しようとしています

2 つの 18F PIC が隣り合って動作しています。1 つは別のソースから UART を介してデータを要求しており、両方とも (同じ) 受信データを受信して​​います。

データを要求している最初の PIC (18F4450) は正常に動作しますが、2 番目の PIC (18F46K22) では、受信したバイトが必要な配列内で前後に「移動」しています。

これは、次のコードを使用して発生しています。

明確にするために、これは要求/受信 PIC では正常に機能しますが、受信のみの PIC では機能しません。

いくつかの調査を行ったところ、UART 割り込みルーチンが機能する可能性があることがわかりました。だから私はこれを書いた:

これを割り込み初期化に使用します。

しかし、配列内の異なるバイトはまったく正しくありません。

UART割り込み部分で私が間違っていることはありますか? それとも、そもそもUART受信の問題に対するより良い解決策でしょうか?

0 投票する
2 に答える
1075 参照

c - PIC 18F46K22、MikroC: シンプルで時間のかかるタスク「マルチタスク」

生のセンサー データの配列を含む UART メッセージを受信して​​います。プログラムのメインループ内でメッセージを読んでいます。PIC が異なる値を処理するために必要なことが 2 つあります。それを LCD に表示し (多少時間がかかります)、少なくとも値の 1 つについて、その値に応じて PORTD に接続された LED バーを変更します (かなり単純です)。

メインループでは、これが私の現在の作業方法です:

  • UART で外部デバイスからセンサー データを要求する
  • 外部デバイスからバイト配列を受信
  • 生のセンサーデータを実際の値/単位に変換する計算を行う
  • 次のコードを使用して、LCD バーに RPM 値を表示します。

    /li>
  • 最後に、LCD に複数の値を表示します。したがって、古い値を削除し、ラベルを描画し、新しい値を設定して、再度ラベルを描画します。

その最後のタスクはループ全体を遅くし、LED バーの機能を「遅延」させます。不必要な描画を避けるために、ラベルを再描画する前に値が変更されたかどうかを確認するよう提案されました。しかし、すべての値は、RPM などのようにかなり急速に変化する値です。

どんな提案でも大歓迎です!!

0 投票する
1 に答える
540 参照

c - データロガー PIC16F877A

EasyPIC5 ボード (PIC 16F877A マイクロコントローラを搭載) で実行するには、mikroC PRO を使用してデータ ロガー プログラムを設計する必要があります。また、表示には 2 行の LCD を使用する必要があります。

これが私が与えられたものです:

プログラムは定期的にアナログ ポート AN0 から測定を行い、生データを EEPROM に保存します。ユーザーは、ロギング セッションの結果を保存するために 6 つのメモリ バンクのいずれかを選択でき、読み取り間の時間間隔を 1 秒、2 秒、5 秒、または 10 秒に設定できる必要があります。各ロギング セッションで取得される読み取り回数は 5 に設定する必要がありますが、プログラムの最初の数行で #define から変更できる必要があります。別の #define を使用して、メモリ バンクの総数を指定する必要があります (6 に設定)。

これにはかなりのトラブルがあります。

どんな助けでも大歓迎です。

編集

今までAN0の読み取り値を取得でき、それらをEEPROMに書き込みました..しかし、愚かにも聞き逃した私の質問..メモリバンクを6に設定する方法と、ロギングセッションを保存する方法いずれかの銀行