問題タブ [8051]
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.
assembly - 1つのレジスタを使用した正弦波
そこで、2つのレジスタを使用して動作する正弦波を作成するという任務を負いました...
現在、1つのレジスタのみを使用するように求められています。非常に単純な解決策かもしれないと感じていますが、少し混乱しています。どんなヒントも素晴らしいでしょう。
assembly - ここで JB は何に使用されますか?
Cに変換する目的で、開発ボード(XL400)に付属のasmの例を理解しようとしています.
asm コードは以下に含まれていますが、残念ながら、このようなドキュメントは中国語から非常にひどく翻訳されており、役に立たないというよりも悪いものになっています。また、asm を使用するのは久しぶりです。
コードには、DELAY サブルーチン (コードの最後の 3 行目) に JB 命令があります。それが何をするのか、どのように動作するのか理解できません。JBをグーグルで検索すると、別のフォーム(JBラベル)の説明が表示されるため、asmが正しいかどうかはわかりません?? Ta さん、どうもありがとうございました。
c - 機能を有効にするときのコードの誤動作 (考えられるサイズの制約)
このトピックは非常に漠然としていることを理解しています....それで説明しようと思います。
IAR Workbench でプロジェクトに取り組んでいます。単純な if ステートメントなどの新しい機能を追加すると、コード構造全体が壊れてしまうところまで来ました。コードは正常にコンパイルされ、8051 デバイスに正常にダウンロードされますが、コードの起動シーケンスの途中で接続が失われます。スタック オーバーフローが発生しているようです。デバッガーを一時停止すると、XdataStack と IdataStack の値が低く (50% 未満)、レポートするスタック オーバーフローがないことがわかります。
実際、問題の原因となっているコードは、アプリケーションによって呼び出されることさえありません。
これは、コード内にある debug #define 定数を有効にするとさらに明白になります。これを有効にすると、より多くの文字列定数が uart デバッグ用のコードに組み込まれます。
私が実行した別のテストは、既に存在する関数で 100 文字の配列を作成することでした。
そして、これもコードを壊しているようです。
このデバイス (フラッシュ サイズが 128Kb の CC2540) がいっぱいになっていないかどうかを確認するために、確認すべきメモリ領域があるかどうか疑問に思っていました。
IAR では、次のことを確認できます。
- IDATA
- XDATA
- SFR
- 論理コード
- コード
- データ
- Pdata
私のプロジェクト構成に関する限り:
スタックサイズ:
- IDATA: 0xC0
- PDATA: 0x00
- XDATA: 0x280
ヒープ サイズ:
- XDATA: 0xFF
- ファー: 0xFFF
- Far22: 0xFFF ヒュージ: 0xFFF
c - 8051c 割り込み
C を使用して、8051 マイクロコントローラーでプログラムを作成しています。私が使用しているコンパイラは Keil Microvision です。私は立ち往生しており、自分のコードに何が欠けているのかを理解するのに苦労しています。私はそれが非常に基本的なコードであることを知っています。私は何をすべきか理解できません。
私がやっていることのほとんどは、ユーザーに文を送信し、シリアルポートを介して「はい」または「いいえ」で答えてもらい、シリアル割り込みを使用することです。その部分はうまく機能します。本人から断られたらタイマー割り込みで5kHzの方形波を発生させたい。この方形波は、ピン P3.2 の外部割り込みがオンまたはオフのときに、オンとオフを切り替える外部割り込みによって制御されるようにします。これが私のすべてのコードです
私が問題を抱えている部分は、前のコードからのこれら2つの割り込みです
正しい方向へのヒントは大歓迎です! ありがとう。整形ごめんなさい
8051 - 8051-CJNEの後にPSWが0X80に設定されている
私は8051にかなり慣れていないので、テストしていました。CJNEの実行後、PSWを0x80に設定します。なぜそれをするのですか?以下はコードです。EdSim51DIシミュレーターを使用しています。
どんな助けでも大歓迎です
embedded - SPIバスを使用して8051マイクロコントローラの内部FlashROMに.hexファイルを書き込む
EEPROMのSPIバスと8051の内部ROMを使用してファームウェアのアップグレードを行っており、基本的にこれらの両方のメモリデバイスに.hexファイルを書き込んでいます。そこに書き込まれた.hexファイルを見ることができます。スレーブとマスターを見ることができます。正しく通信していますが、メモリデバイスに何も書き込めません。
提案があり、同様の問題に直面した場合は、実際の問題がどこにあるかをお知らせください。
どんな入力でも歓迎されます。
よろしく、ラヴィ
c - SPI バスに接続された ROM の 0 番目のアドレスを読み取る方法は?
私のマスターはARM9プロセッサです。
SPI バスに接続された 8051 の内部 ROM の 0 番目のアドレスを読み取りたいですか?
read()
システムコールを使用してそれを行うことはできますか? ユーザー空間で欲しかったので、そのためにmmap()
システムコールを使用できますか?
serial-port - インターネットから 8051 ポートを操作する
マイコン8051のポートにリレーを接続しています。Webサイトから操作したいです。そのため、ステータスをコンピューターに tx/rx してから、Web サーバーにアップロードしたいと考えています。
このようなもの ですが、学校のプロジェクトで 8051 を使用することに制限があります。
「Pyserial」を使ってパソコンへのデータ受信ができることがわかりました。それを行う他の方法はありますか?
私はc、php、javascriptの知識があります。
microcontroller - マイクロコントローラ 8051 を使用して割り込み 4 経由で UART から文字列を取得する方法
割り込み 4 関数から文字列を取得するのは少し難しいです。しかし、単一の文字を取得しようとしてLCD 2 * 16に表示すると、うまく機能します。しかし、LCD に表示するために "dot[i]" 変数から文字列を取得しようとすると、うまくいきません。
この私のコード:
Keil v4を使用するコンパイラの場合