政治家、官僚などを代表する国家運営に携わっている方々、大学関係者、受験産業の 関係者、課税逃れをするの巨大企業の関係者、独裁者、反社会的勢力の方々、に対し て批判的な記事が含まれていますので、お読みにならないことを強くご注意申し上げます。 万が一言霊の悪影響により、日常の業務に支障を来すことを心配しております。 またコメントを受け付けないのは、死んでしまった人間が残した記事であると認識 していただけたら、違和感はないものと思います。 ほとんどの原典は過去の偉人が残された書籍を元に記述されていますので、そういう 意味では、文字通りではあります。
扱っている言語が時代遅れであるため、20年後残っているか全く自身がありません。
教材など作っても意味が無いのではという疑念が晴れず、記事が進みません。
教材など作っても意味が無いのではという疑念が晴れず、記事が進みません。
それにしても次々に新しい言語が生み出されて、習得する気持ちが起こらない。たとえ挑戦
しても生きている間に習得出来るとはとても思えません。
しても生きている間に習得出来るとはとても思えません。
VisualStudio2017 を導入しましたが、使い慣れているMFCアプリケーションがデフォルト
から外れていて、動かす事が出来ずに、コミュニティに問い合わせてしまいました。
から外れていて、動かす事が出来ずに、コミュニティに問い合わせてしまいました。
いよいよ、利用人口が激減してきたのかなと思います。
マイコンの機能調査も LPC11U35 に取りかかっておりますが、I2C通信のコードは LPC1114
で使ったサンプルコードが、そっくり使えて、うれしい発見でした。
で使ったサンプルコードが、そっくり使えて、うれしい発見でした。
UART PIO AD変換 PWM は定義を少し変更する必要はあったものの、BIOSマップが類似
しているおかげで、ほぼ同じサンプルコードが利用出来ています。
しているおかげで、ほぼ同じサンプルコードが利用出来ています。
調子に乗ってダンジョンを進んだいたらHNMが出てきて即死
LPC1114 でテストした機能は、再現出来たので、LPC11U35内蔵のUSB通信に挑戦したのです
が、UART通信とは比べものにならない複雑さで、コンパイルさえ通すことが出来ませんでした。
が、UART通信とは比べものにならない複雑さで、コンパイルさえ通すことが出来ませんでした。
この複雑さはまさに HNM級
インクルードファイルが十数本必要って、ややこしすぎでしょう。おまけに CDC HID など
いろいろな種類があり、一つ一つ試行錯誤が必要と来ている。
いろいろな種類があり、一つ一つ試行錯誤が必要と来ている。
デバッガーを使う習慣がないので、UARTを通して変数のモニタは必須です。
LPC1114 はプログラムの書き込みと、モニタ通信は同じUSBシリアルで利用出来ていたのです。
LPC11U35 は プログラムの書き込みをUSB仮想ドライブに保存する操作で実行し、モニタ通信
は、別のUSBシリアル基板で実行する方式。
は、別のUSBシリアル基板で実行する方式。
なので、コネクタの差し替えと、リセットボタンの操作ファイルの削除やコピーペーストと手順が
増えて、不便になったのです。 書き込み時間は確かに早いのですが。
増えて、不便になったのです。 書き込み時間は確かに早いのですが。
モニタ通信を内蔵のUSB機能で処理出来れば、少なくともコネクタの差し替えは必要ないので是非
実現したいところです。
実現したいところです。
それにしてもUART通信はシンプルで使いやすいですね。どなたが書かれたコードかは不明ですが
シンプルで美しい下記のコードを使わせてもらってます。
シンプルで美しい下記のコードを使わせてもらってます。
void UART_putc(char data) { // バイト・データ送信関数 while (!(LPC_USART->LSR & (1<<5))); // (1) データ転送待ち LPC_USART->THR = data; // (2) データ送信 } void UART_puts(char *str) { // 文字列データ送信関数 while (*str != '\0') { // (1) 文字列が終わるまで繰り返す UART_putc(*str); // (2) 文字データの送信 str++; // (3) 次の文字に移る } }
メーカーのサンプルコードはややコードが多いです。謎の呪文もありますし。
void UARTSend(uint8_t *BufferPtr, uint32_t Length) { while ( Length != 0 ) { /* THRE status, contain valid data */ #if !TX_INTERRUPT while ( !(LPC_USART->LSR & LSR_THRE) ); LPC_USART->THR = *BufferPtr; #else /* Below flag is set inside the interrupt handler when THRE occurs. */ while ( !(UARTTxEmpty & 0x01) ); LPC_USART->THR = *BufferPtr; UARTTxEmpty = 0; /* not empty in the THR until it shifts out */ #endif BufferPtr++; Length--; } return; } void UARTSendString(uint8_t *string) { if (!string) { /* error */ return; } UARTSend(string, strlen((char*)string)); return; }
まあmbedに依存しなくて良いことがわかったのは救いでした
LPC810 LPC1114 と勉強してきた事が無駄にならなかったのは本当に救いです。
どうして人類は、過去のプログラム資産を捨てて、次々新しい言語を生み出そうとするの
でしょうか?
でしょうか?
謎であります。