Ti C2000リアルタイム制御32bitマイコンでLチカ

TiのC2000リアルタイム制御マイコンの勉強を始めました。 パワエレ制御専用の高性能32bitマイコンです。 専用とだけあって制御に特化した機能盛り沢山なマイコン(例えばPWMの出し方多彩、割込み豊富)ですが、まず使い方がわかりませんので、勉強していきたいと思います。 mbedやArduinoなど、開発がわりと優しめのマイコンばかり触れてきたため、定義をしっかり設定したり、レジスタを操作したりと、より深い部分を操作することは敷居が高く感じます。 まずは、開発環境であるCCS(Code Composer Studio)の導入から、電子工作分野のHello WorldであるLチカをやってみたいと思います。 具体的には評価ボードの基板(controlCARD)上のLD3(赤色)をタイマー割り込みで1秒毎に点滅させます。 早速、CCSの使い方でつまずいてましたw 環境 CCS9.2.0 Build 9.2.0.00013 Windows10 Pro バージョン1809 64bit controlSUITE v3.4.9 参考 TMS320C2000:Piccolo MCUのソフトウェア開発入門 http://www.tij.co.jp/jp/lit/an/jaja230a/jaja230a.pdf JAJA230A-2012年8月 小幡 智 氏著 この資料を参考にさせていただいております。非常に良くできた資料で、日本語の資料が少ない中、とても助かりました。 資料の作成が2012年とあり、7年前と少々古いですがCCS9.2.0でも問題ありませんでした。 資料中ではCCS5を使われてます。 記載したプログラムもこの資料から引用させていただきました。 Lチカプログラムほか、ePWM(HRPWM含む)やADコンバータなども掲載されています。 準備 CCSのダウンロード CCSは開発環境です。 参考資料ではCCS5を使用していますが、私は2019年12月時点で最新のCCS9.2.0を使ってみました。 以下からダウンロードできます。 サイズが大きく、丸ごとダウンロードするofflineインストーラとインストールしながらダウンロードするwebインストーラの2種類がありますが、どちらでも構いません。 controlSUITEのダウンロード controlSUITEはヘッダーファイルやサンプルや回路図などの情報をまとめたアプリケーションです。 データシート、リファレンスノート、回路図、その他資料、さらにはそれらのバージョン管理などをユーザーが管理していましたが、それでは大変なのでTiがまとめてくれたのがこれです。 以下からダウンロードできます。 プログラムを動かすには、controlSUITEをインストールしてできるフォルダ(ヘッダーファイルや、その他重要なデータ)をワークスペースにコピーする必要がありますので、インストール必須です。結構重いですが。 また、評価ボードの回路図もcontrolSUITEのフォルダに入っています。 使うマイコンなど 評価ボード : F28035 Piccolo Experimenter’s Kit 型名 : TMDSDOCK28035 このベースのボードは様々なcontrolCARDを挿せるようになっています。 今回は28035のcontrolCARDがセットになった実験用キットを使用します。 日本語と英語のページの情報が若干違うので、両方リンクを載せておきます。 動作確認の時、ベースボードの何pinに出力するか確認したいですが、ベースボードのシルク印刷が対応しています。 つまり、GPIO0を確認したいならシルクでGPIO00のpinを当たれば良いです。(シルクは「00」と書いてあります) 回路図、部品表、基板図面はcontrolSUITEをインストールした時の以下のフォルダにあります。 C:\ti\controlSUITE\development_kits~ExperimentersKits\DIM100ExperimentersKit-HWdevPkg_v2_0\R3 また、PCとはUSB接続しデバッグしますが、このボードのエミュレータは以下です。CCSの設定時に必要になります。上記の英語のリンクに書いてあります。 On-board XDS100v1 JTAG debug probe Piccolo F2803x controlCARD 評価ボードとセットになっている controlCARDです。...

2019/12/21 · Last updated on 2019/12/21 · 4 min · 647 words

MacのUSキーボードでKarabiner使用時にショートカット誤爆する(Safari)

使っているMacBook Air late2018はUS配列なんですが、かな、英数変換にはKarabinerを使って左右のcommand⌘で行っています。 とっても使いやすいのですが、1つ頭を悩ませる問題が・・・・ それがショートカットが誤爆してしまうこと(誤ってショートカットが起動してしまう) 今までJIS配列を使ってきたので出会わなかった問題ですが、command⌘はコピーや貼り付けなどさまざまなショートカットで使用されているので、command⌘を使っている以上誤爆は避けられないかもしれませんね。 私が使っていて頻発するのは、こんなの や、こんなの つまり、 ブックマークに追加… command⌘ + D タブを閉じる command⌘ + W です。 起きている事 上の画像で、お気に入りページ名が「e」になっていますが、いつも「e」になります笑 つまり、何が起きているかと言いますと、左command⌘を押して、かなにしてから「で」と打とうとしているわけですが、command⌘から手が離れずそのままDが押されることでショートカットが起動し続いてEが押されることで名前が「e」になっております。 対策 自分で気をつけながら打てば問題ないですが、それでは快適ではないので嫌です笑 なので、上記のSafariのショートカットを変更します。OS標準機能で変更できます。 具体的には以下のように変更します。 ブックマークに追加… command⌘ + D → control^ + command⌘ + D タブを閉じる command⌘ + W → control^ + command⌘ + W 変更の仕方 Safariにだけ適用しましたが、適用範囲は選べます。 変更後にすぐに反映されます。 注意点は一字一句間違えない事です。ここでは、ブックマークに追加…の「…」までをしっかり入力する事です。 「ブックマークに追加…」の変更前後 「タブを閉じる」の変更前後 参考サイト 以上^ ^

2019/12/16 · Last updated on 2019/12/16 · 1 min · 54 words

温湿度センサーDHT11で取得したデータをシリアル通信でmbedからPCに送る

前回、mbedとDHT11を使って、取得した温湿度をlcdに表示させました。 その時の記事↓ やること 今回は、lcdにも表示させつつ、PCにシリアル通信でデータを送り、PC上で表示させてみたいと思います。 環境 Windows10 Pro バージョン1809 64bit 概要 次はPythonかProcessingでシリアル通信して表示させたいのですが、まずはPCのシリアル通信ソフトで試してみたいと思います。 今回はwindowsで行っているので、TeraTermを用います。 結線 前回と同じです。 表1 : DHT11とmbedの接続 DHT11 mbed 備考 電源(赤色) VOUT 3.3V センサー出力(緑色) 23pin なし GND(黒色) GND 0V mbedのプログラム #include "mbed.h" #include "TextLCD.h" #include "DHT.h" //lcdの初期設定 TextLCD lcd(p10, p12, p15, p16, p29, p30); // RS(4), E(6), D4(11), D5(12), D6(13), D7(14), GND R/W(5) //シリアル通信の初期設定 Serial pc(USBTX, USBRX); // tx, rx //LED1の初期設定 PwmOut led1(LED1); //pwm出力 //DHT11初期設定 DHT sensor(p23,DHT11); //sense:p23 vcc:vout(3.3V) gnd:gnd float temp_data = 0; float humi_data = 0; float temp_sum = 0; float humi_sum = 0; int c = 0; float temp_ave = 0; float humi_ave = 0; Ticker flipper; int err; //"Ticker" 繰り返しタイマー割り込み //割り込みの時にlcdに表示 void flip(){ //lcdに表示 lcd....

2019/12/14 · Last updated on 2019/12/14 · 2 min · 234 words

Apple Keyboard(有線)の未使用キーにAutoHotkey(インストール不要)を使ってスクリーンショットを割り当て

前回、AutoHotkeyを使って、Apple Keyboard(有線)のかな英数キーに変換、無変換を割り当てました。 前回の記事はこちら↓ 今回は、未使用キーにスクショを割り当ててみました。 スクショは割と多用しますが、Apple KeyboardにはWindowsキーボードにあるプリントスクリーンキーはありませんし、当然、Macで使うプリントスクリーンのショートカットも使えません(WindowsでMacのキーボードを使っているだけなので当然ですが)。 ノートPCにApple Keyboardをさして使っていますが、スクショのたびにノートPCを開くのはダルいので、今回の割り当てを思いつきました。 未使用キーとしては、F13とF14です。 F13には全体のスクショ(通常のプリントスクリーン) F14にはアクティブウィンドのスクショ(Alt + プリントスクリーン) を割り当てます。 環境 Windows10 Pro バージョン1809 64bit AutoHotkey_1.1.30.03(AutoHotkeyU64.exe) Apple_keyboard_wired.ahk 結果から。 以下のプログラムを書き込めば、動作します(^^) 前回記事を適用されている方は、この内容に上書きすれば、かな英数とスクショが動作します。 AutoHotkeyの導入などは前回の記事を参考にしてください(^^) ;2019/08/31 ;2019/12/09 updated #InstallKeybdHook ;Apple_keyboard_wired #USEHOOK ;Macの英数キーをWindowsの無変換キーに割り当てる sc071 Up::Send,{vk1D} ;MacのかなキーをWindowsの変換キーに割り当てる sc072 Up::Send,{vk1C} ;MacのF13キーをWindowsのプリントスクリーンキーに割り当てる sc064 Up::Send,{PrintScreen} ;MacのF14キーをWindowsのプリントスクリーンキーとAltの同時押しに割り当てる(複数キー) ;アクティブウィンドのスクショ *sc065 Up:: SetKeyDelay -1 Send {Blind}{ALt Down} Send {Blind}{PrintScreen} Send {Blind}{ALt Up} return #USEHOOK off ;sc071 : macの英数キー ;sc072 : macのかなキー ;vk1D Windowsの無変換キー ;vk1C 変換キー ;sc064 : macのF13キー ;sc065 : macのF14キー ; ";"はコメントです。 Apple_keyboard_wired....

2019/12/11 · Last updated on 2019/12/11 · 1 min · 140 words

mbedと温湿度センサーDHT11で温度湿度を取得してlcdに表示

ひさびさにmbedを引っ張り出してきました。 いつも間が空くので忘れてしまってググりながらやるのですが、この記事も参考にできるように載せます。 やること 温湿度センサーDHT11を使って、温湿度を取得し、キャラクタlcdに表示してみます。 mbedにはLPC1768を使用します。 DHT11は扱いが簡単なモジュールタイプを使います。 注意点 DHT11は安くてお手軽で良いのですが、出力が整数(温度も湿度も)です。小数点以下の値は出ず、0になります。例えば20.4℃でも20.0℃となります。 上位のDHT22でしたら、0.1の桁まで出るようです(持ってないので未確認です) ライブラリには、lcdを動かすにはTextLCD、DHT11を動かすにはDHTをそれぞれインポートしました。 lcdの接続はライブラリに載っている接続と違いますので注意してください(使いたいデジタルピンと重なっていたので変更しました) DHTはそのままです。 DHTの電源範囲は3.3V〜5.5Vですが、今回は3.3V入力としました。温度計を隣において、5V入力だと3.3V入力時よりもちょっと温度が高くでまして、温度計より乖離が大きくなったので「きっと」3.3V用のライブラリだろうと進めました笑(ライブラリはしっかり見ていません笑) 結線 mbedのpinは「mbed ピンアサイン」で検索すると出てきます。 接続は以下の表1のようにしました。 表1 : DHT11とmbedの接続 DHT11 mbed 備考 電源(赤色) VOUT 3.3V センサー出力(緑色) 23pin なし GND(黒色) GND 0V プログラムの説明 プログラム中にコメントを入れていますのでざっくりと説明します。 仕様をみると、DHT11は2秒以上でサンプリングするようですが、見ているとだいたい1秒間隔ぐらいで温湿度を取得して値をくれていそうです。しかし、取得に失敗することもあるようなので、失敗しなかった時に値をもらうようにします。 タイマー割り込みで、10秒おきにlcdの表示を更新してます。 取得値そのままでも値がバタつくことはなかったのですが、気休めで11回の平均値をlcdには表示しています。 #include "mbed.h" #include "TextLCD.h" #include "DHT.h" //lcdの設定 TextLCD lcd(p10, p12, p15, p16, p29, p30); // RS(4), E(6), D4(11), D5(12), D6(13), D7(14), GND R/W(5) //LED1を使うので定義 DigitalOut led1(LED1); //DHT11関係設定 DHT sensor(p23,DHT11); //sense:p23 Vcc:VOUT(3.3V) GND:GND float temp_data = 0; float humi_data = 0; float temp_sum = 0; float humi_sum = 0; int c = 0; float temp_ave = 0; float humi_ave = 0; Ticker flipper; int err; //Ticker 繰り返しタイマー割り込み //割り込みの時にlcdに表示 void flip(){ lcd....

2019/11/30 · Last updated on 2023/09/22 · 1 min · 187 words