問題タブ [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 に答える
3048 参照

serial-port - pic16F788 :mikroC の uart 経由でデータを受信

シリアル ポート経由で pic にデータを送信する Java コードを作成しました。次に、マイクロコントローラーをプログラムしてデータを読み取り、1 を受信した場合は PortD.RD6=1 を、0 を受信した場合は PortD.RD6=0 にする必要があります。このコードを試してみましたが、多くのエラーが発生します。これは私の最初の mikroC プログラムなので、これらのエラーを管理する方法が本当にわかりません。

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

c - cでマイクロコントローラ用の新しいポートを定義する方法

仮想ポートまたは変数バインドを [porta.1,porta.2,portc.1,portc.2] で定義する必要があります。これは、使用中のマイクロ コントローラー (PIC18F4550) で使用可能なすべてのポートの一部のピンがあり、空きポートがないためです。 ;

組み込み用の C プログラミングの助けが必要です (mikrocForPIC は私の IDE です)。以下のようなものが必要です:

次の目的で使用します。

できたのは覚えていますが、本当の構文を思い出せません!?

助けてください

ありがとう

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

c - コードの実行は常にelseステートメントに入ります

私のソースコードで非常に奇妙なことが起こります。次の関数はうまく機能し、パスワードが正しい場合は 'y' を出力し、正しくない場合は 'n' を出力します。しかし、いくつかの UART1_Write および Delay 関数を else ステートメントに追加すると、バグが出てきて、パスワードが "zxc" (正しい) であっても、常に else ステートメントに入ります。私は PIC v6.0.0 用に MikroC PRO を使用しています。ロボット システムは PIC18F452 とそれに接続された RN-42 Bluetooth モジュールで構成されています。BluetoothとTeraTermを備えたラップトップでテストしています。

詳細情報: http://instagram.com/p/pLnU9eDL8z/#

これはうまく機能するルーチンです。

このバージョンのルーチンは、常に strcmp(input, password) == 0 の部分の ELSE ステートメントに入ります。

RN-42 をコマンド モードにして、パスワードが間違っている場合にユーザーを切断するには、これらすべての追加シンボルを送信することが重要です。問題を解決するのを手伝ってください。どんなアイデアでも大歓迎です!

0 投票する
5 に答える
6315 参照

c - UART1_Read_Text() の問題

私は PICKit3、PIC v6.0.0 用の MikroC PRO、PIC18F45 @ 8MHz、および RN-42 Bluetooth モジュールを使用しています。ラップトップと Android アプリの両方から RN-42 モジュールに接続し、パスワードを送信しています。奇妙なことに、PIC はパスワードが正しいと言うことがありますが、そうでないこともあります。同じ文字列を送信しています。テスト中、たまたま最初の 1 回だけパスを受け入れず、他のすべての試みは受け入れられました。UART ボーレートは、PIC と RN-42 の両方で 9600 に設定されています。RN-42 の RTS と CTS が接続されていません。

私も試しました:

しかし、それは同じです...何が問題なのですか、それは私のコードにありますか、それともMikroC関数内で発行することは可能ですか?

UARTx_Read_Text() プロトタイプ:

UARTx_Read_Text() 説明:

デリミタ シーケンスが検出されるまで、UART 経由で受信した文字を読み取ります。読み取りシーケンスはパラメーター出力に格納されます。区切り文字シーケンスは、パラメーター区切り文字に格納されます。

これはブロッキング呼び出しです。デリミタ シーケンスが必要です。それ以外の場合、プロシージャは終了します (デリミタが見つからない場合)。

パラメーター :

出力: 受信したテキスト デリミタ: 受信した文字列の終わりを識別する文字のシーケンス 試行: デリミタ シーケンスが期待される受信文字数を定義します。Attempts が 255 に設定されている場合、このルーチンは連続して Delimiter シーケンスを検出しようとします。

例:

シーケンス「OK」が受信されるまでテキストを読み取り、受信したものを返信します。

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

c - PIC16F1459 24LC32 での I2C マスター Ack の問題

私は奇妙な問題に直面しています。PIC16F1459 で常にビット バンギン I2C 機能を使用していましたが、今は MSSP (SPI、I2C マスター スレーブ ペリフェラル) を使用したいと考えています。だから私は、データシート、開始、停止などに従って関数を書き始めました。私が抱えている問題は、PICがI2C EEPROMに送信したデータにACKを返さないことです。ACK ステータスは SSPCON2.ACKSTAT で確認できることがデータシートに明確に記載されています。したがって、スレーブがデータに応答するまでこのビットをポーリングすると推測しましたが、プログラムは while ループでハングします。

そして、これが私の書き込み関数、私の I2CCheck 関数、および I2C マスター初期化関数です。

ご存知のように、24LC32A WriteProtect は VSS に接続され、A2-A1-A0 は GND に接続されているため、アドレスは 0xA0 です。4k7 プルアップは I2C ラインにあります。16MHz INTOSC の PIC16F1459。

私は完全に立ち往生しています。MSSP データシートを 5 ~ 6 回確認しましたが、問題は見つかりませんでした。手伝ってくれませんか?

そして、これが私のロジックアナライザーのプレビューです( vReadAck() 内の while を削除しています)

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

pic - MPLAB コードが機能しない

私は pic マイクロコントローラーのプログラミングに取り組んでおり、最近 lcd で 2 つのコードを作成しました。問題です/なぜそれが起こったのですか?これはハードウェアまたはソフトウェアのコードではないと思います。これは同じ回路であり、両方のコードがisisで機能しているためです。コードを表示したい場合は、次のとおりです。

マイクロC:

mplab:

main.c:

config.h:

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

matlab - pic と matlab gui 間の UART

MATLAB GUI を使用して pic マイクロコントローラと PC を接続する際に問題があります。Matlab で次のエラーが表示されます。

mikroc コードは次のとおりです。

}

ここにmatlabコードがあります:

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

c - C の PIC - RC0-3 を使用して独自のキーパッド スキャン ルーチンを作成する

キーパッドをスキャンする独自のルーチンを作成するように依頼されましたが、PORTC と RC0-3 のみを使用して、1,2,4,5 の 4 つの値を返すだけで済みます。 4x4 キーパッドの 2x2 配置。私が使用しているキーパッドは PORTC に接続された 4x4 キーパッドです。私はこれを教えられていませんが、それは作品の大きな部分を占めているので、解決策が得られないのはいいことですが、より多くの説明が正しい方向に私を押してくれるので、自分でできるようになります. PIC マイクロコントローラ: C のポート C RC0-RC3 のみを使用して、4x4 キーパッドで入力をスキャンします。 基本的にはこの質問ですが、そこにある回答は実際には役に立たなかったので、自分でこの質問をしてみようと思いました:)高く評価されます!