問題タブ [microprocessors]
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.
c - Cコード付き4ビットLCD
Winstar Display LCD(WH2004A-YYK-CP)とSTM32プロセッサを使用しており、コードはCで記述されています。4ビットモードで実行する必要があります。私はそれを実行し、私が望むものを書きました。
ご存知のように、4ビットモードは8ビットデータを4ビットの2倍として送信します。問題は、2つのニブルの間でリセットすると、奇妙な文字が印刷され、いくらリセットしても正しく機能しないことです。私が思いついた唯一の解決策は、それを数回リセットすることです。
何が起こっているのかを理解するために、2つのニブル(それぞれ4ビット)の間に2秒の遅延を追加し、長い文を印刷しました。したがって、リセットするたびに、プロセッサは2番目のニブルの送信を待機しています。
私はそれをリセットしています、それは何か奇妙なものを印刷します、2番目のリセットの後それは何も印刷しません、そして3番目のものの後それは再び正しく印刷します。そして、4番目のリセットは再び奇妙なものを印刷し、5番目は何も印刷せず、6番目は再び正しく印刷します...そしてこのように続きます。したがって、問題はこれらの分割されたバイトであると確信しています。
同様のコードは、8ビットモードで完全に正常に機能します。
私が求めているのは、「STM32プロセッサをリセットしたときに、LCDが前のセッションで最初のニブルが送信されたデータの2番目のニブルを待機していない」ことをどのように確認できるかです。Cコードを使用して?
アップデート:
私もここに私のコードを送ります:http://pastebin.com/kHQQEqjx
LCDコマンドもここにあります:http://imgur.com/mfDlj
c - 構造体のサイズ、パディング、そして未来
次のプログラムを検討してください
MinGWを使用してコンパイルすると、32ビットシステムと64ビットシステムの両方でsizeof(Foo)= 12とsizeof(Bar)= 12が得られます(16ビット環境ではsizeof(Bar)= 10だと思います)。将来的には、これらの構造のサイズが16になり、64ビット環境での適合性が向上する可能性がありますか?
構造体をファイルに保存していますが、将来的に回避策を追加したくありません。運命の物の構造のレイアウトはおそらく1993年には良い選択でしたが、今日はそうではありませんでした。
embedded - 実行OS用のRaspberryPiのようなシングルボードコンピューターを構築するにはどうすればよいですか?
私の質問は、OSを実行するためのRaspberryPiのようなシングルボードコンピューターをどのように構築できるかということです。
ユーザーARMマイクロプロセッサとdebianarmosは、USBなどを使用できます。
ラズベリーパイや他のシングルボードコンピューターのように
私は検索しますが、助けてくれるものは何も見つかりません!!! :(
microprocessors - 8086マイクロプロセッサで物理アドレスを見つける
8086マイクロプロセッサでは、20ビットアドレスが16ビット+ 4ビットアドレスに分割され、4ビットバイナリがセグメントアドレスになります.4ビットバイナリを16進数に変換すると、1ビット16進数になります。私の質問は、物理的な計算の問題が発生したときです。論理からのアドレス、4ビットの16進セグメントアドレスが与えられます。なぜそうなのですか?また、物理アドレスの計算では、lsbに0を追加してセグメントのベースアドレスを見つけ、それにオフセットを追加します。0を追加する背後にあるロジックは何ですか?
embedded - マイクロコントローラーのインターフェース
私は組み込みプログラミングの世界に不慣れで、I2C、USB、UART、CAN などを使用したマイクロコントローラーとのインターフェイスに関する情報を探しています。このテーマに関する良いリンク、本、チュートリアルを知っている人はいますか? 私はこのテーマについてはまったくの初心者なので、できる限り基本的なことを好みます。
assembly - MOV BL,[AX] エラー
重複の可能性:
NASM 16bit Intel
私はマイクロプロセッサコースで簡単なマイクロプロセッサのアセンブリコードに取り組んでいます。アドレス 300 からメモリに保存された 6 つの要素を合計するプログラムを作成していますが、80 hex 以上 ( >=80h
) または 20 hex 以下 ( <=20h
) の要素は無視します。偶数が追加されたかどうかを 6 回比較した後、プログラムは停止するはずです。
これが私のコードです:
しかし、次の行でエラーが発生します。
誰かが理由を知っていますか?
java - RS232 ケーブルを使用して実行可能プログラムをハードウェア (マイクロプロセッサ) に送信する
RS232 ケーブルを使用して接続できるハードウェア デバイスがあります。必要に応じて、Java または C++ プログラムをハードウェアのマイクロプロセッサに転送して実行する必要があります。次の質問があります。
- C++/Java プログラムをハードウェアに実行する方法は?
- プログラムが実行されていることを知る方法は?
- インターフェイスを取得するには?
どんな提案でも大歓迎です..ありがとう....
microprocessors - WindowsまたはMACまたはLinuxで実行されるプログラムが実行されない理由
コンパイラが高級言語(たとえばC ++など)をマイクロプロセッサによって実行されるマシンコードに変換する場合。
Windowsで実行されるプログラムがMacまたはLinuxで実行できないのはなぜですか?
embedded - 16ビットマシンは64ビット(long int、float ...などのデータ型)操作を処理できますか?
16ビットマシンは64ビットデータ型で操作を実行できますか?
2つのレジスタを使用して32ビットの乗算を実行できることは知っていますが、64ビットのデータをどのように処理できるかわかりませんか?
c++ - c++ での float から String への変換
LPC 1769 マイクロプロセッサでプログラミングしていますが、浮動小数点数を文字列に変換して Display に出力する方法がわかりません。コマンドを使用してsprintf
いますが、プログラムでメモリ エラーが表示されます。a を文字列に変換するにはどうすればよいfloat
ですか? 標準ライブラリを使用せずにこれを行う必要があります。