約 1,028,134 件
https://w.atwiki.jp/krrks/pages/109.html
■Ragnarok Online EP9.0 Lv3694 hnnrオンライン■ ttp //awabi.2ch.net/test/read.cgi/ogame2/1347200078/ 863 名前:ヽ(`Д´)ノ ウワァァァン[sage] 投稿日:2012/09/16(日) 01 57 36.69 ID +irxQG9z idcでござぁ 876 名前:ヽ(`Д´)ノ ウワァァァン[sage] 投稿日:2012/09/16(日) 04 05 21.58 ID +irxQG9z もえろだって使えなくなってる? http //roup.jp/loader/src/roup1361.jpg 884 名前:ヽ(`Д´)ノ ウワァァァン[sage] 投稿日:2012/09/16(日) 06 11 13.26 ID +irxQG9z 878 多分紙を押さえていた親指だと思います
https://w.atwiki.jp/dendenkeroro/pages/19.html
H8/3069、3052および3694 このロボットはメインPCと駆動ハードウェアとの仲介としてH8を用います。 #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (3069motherbord.jpg) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (3694motherbord.jpg) 上図左がH8/3069(USBホストボード)、中央が3052(USB機器開発ボード)、右がH8/3694です。 それぞれ自作マザーボードおよび市販ボードに乗ってるわけですね。 マザー自体はそれほど工夫しているわけではありません。 単に端子を取り出しているだけです。 #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (3069backofbord.jpg) 上図が3069ボードの後ろ側、配線の様子です。 プリント基板とか作れるともっとここら辺の手間は省けるんでしょうね。 いろいろ環境を整えたりするのも面倒なので普通に半田付けしました。 全部のポートを引き出したわけではないので、随時この画像はアップデートしていきます。 プログラムデバッグ用のIOボード 写真左側がタクトスイッチによる8ビット入力ボード。 写真中央が7セグLEDによる8ビット出力ボード。 写真右側が青色チップLEDによる8ビット出力ボード。 入力ボードはフラットケーブルにて接続できます。 出力ボードはマザーの端子に直接挿せるようになってます。 H8-3052(UBS機器開発ボード使用)にプログラムを書き込もう 2010年1月30日現在、メインボードを3052に挿げ替えております。 理由はいくつか。 足の数が多い USBライブラリが装備されていて高速通信が可能(USB開発ボードが必要) 電圧や書き込みスイッチ等が扱いやすい まぁ3069でも構わないわけですが。使えるものはいろいろ使ってみましょう~。 3052をUSB機器開発ボードで使用する際の注意点 USB機器開発ボードについているMAX662Aはあらかじめはずしておくこと! 書き込みはあくまでシリアルポートからです 後々インストールするUSBドライバは32bit対応です 以上気を付けてください。 さて書き込みましょうか。 プログラムを用意しよう 使用する開発環境は3069の時と違ってオーソドックスにGDLを使います。 ベストテクノロジーのHPからダウンロードしてくださいませ。 んで、ターゲットファイルがありませんのでこちらから3052用のターゲットファイルをダウンロードしてください。 解凍したらインストールフォルダ内に「TARGET」フォルダがありますのでその中に入れておきます。 ソフトの使い方詳細は他のHPでも掲載されていますので割愛させていただきます。 H8-Turbo等ライタソフトで書き込もう プログラム(MOTファイル)をマイコン内に入れるには、書き込みソフトとハードの設定が必要です。 ハードの設定(ブートモード7) ボードの電源がOFFであることを確認する マイコン側CN5のMD2をショートします(ピンソケットなりスライダスイッチなり) ボード側トグルスイッチをボード内側(FLASHという文字側)に倒す 5V電源を投入する ソフトの設定 GCCでプログラムをビルドする- MOTファイル生成 Flash.exeなりH8TurboWriterなりで書き込む 実際に動作させてみよう プログラム(MOTファイル)は無事に書き込めたでしょうか? そのままでは実行できません。 言ってみれば音楽プレーヤーの「録音モード」なわけです。 では再生モードにするには以下の手順を踏む必要があります。 電源をOFFにする。 マイコン側CN5のMD2をオープンにします(ピンソケットなりスライダスイッチなり) ボード側トグルスイッチをボード外側に倒す 5V電源を投入する 正常に書き込まれていればこれでH8はプログラムを実行するはずです。
https://w.atwiki.jp/pazdra/pages/14261.html
図鑑のトップページへ戻る No. 通常入手系 レアガチャ限定系 コラボ系 期間限定D系 レーダー その他 タグ検索 覚醒 スキル No.001-No.051-No.101-No.151-No.201-No.251-No.301-No.351-No.401-No.451- No.501-No.551-No.601-No.651-No.701-No.751-No.801-No.851-No.901-No.951- No.1001-No.1051-No.1101-No.1151-No.1201-No.1251-No.1301-No.1351-No.1401-No.1451- No.1501-No.1551-No.1601-No.1651-No.1701-No.1751-No.1801-No.1851-No.1901-No.1951- No.2001-No.2051-No.2101-No.2151-No.2201-No.2251-No.2301-No.2351-No.2401-No.2451- No.2501-No.2551-No.2601-No.2651-No.2701-No.2751-No.2801-No.2851-No.2901-No.2951- No.3001-No.3051-No.3101-No.3151-No.3201-No.3251-No.3301-No.3351-No.3401-No.3451- No.3501-No.3551-No.3601-No.3651-No.3701-No.3751-No.3801-No.3851-No.3901-No.3951- No.4001-No.4051-No.4101-No.4151-No.4201-No.4251-No.4301-No.4351-No.4401-No.4451- No.4501-No.4551-No.4601-No.4651-No.4701-No.4751-No.4801-No.4851-No.4901-No.4951- No.5001-No.5051-No.5101-No.5151-No.5201-No.5251-No.5301-No.5351-No.5401-No.5451- No.5501-No.5551-No.5601-No.5651-No.5701-No.5751-No.5801-No.5851-No.5901-No.5951- 御三家カラードラゴン○○りんカーバンクルゴブリンオーガ・修験鬼ファイター・ナイトデビルキメラ忍び精霊ゴーレム魔剣士女の子(回復娘)玩具龍攻撃態勢(英雄)スキルLvアップ用モンスター幻獣枠メタドラペンドラムギドラノエルドラゴン進化用たまドラ潜在たまドラ○○ピィぷれドラ○○タン元スペダン龍魔石龍ナンバードラゴン常設Dボス降臨ボス晩成型ドラゴン精霊族フルーツドラゴン童話龍剣士旧特典モンスター分類不能希石レア希石:火レア希石:水レア希石:木レア希石:光レア希石:闇 ゴッドフェス限定・元ゴッドフェス限定 一覧 オーディンメタトロンソニアカーリー時女神龍契士獣魔和龍喚士鋼星神フェンリル龍神魔爵アテン日本由来クトゥルフ系ネイコットン争女神大魔女フェス限化降臨モンスター龍刀士クロノマギアメノア シリーズ神 西洋神新西洋神西洋神第3弾和神新和神インド神新インド神北欧神話エジプト神話新エジプト神天使新天使悪魔四獣の神英雄神三国の神新三国の神戦国の神新戦国の神戦国の神第3弾星機の神新星機神明王の神ケルトの神メソポタミアの神 その他 ドラゴンライダー忍者色違いヴァルキリーパズドラZマジシャン鎧騎士魔導書勇士新勇士幻獣ライダー機導龍機導獣パズバトコラボ大賢龍宝石姫伝説の英雄元フェス限定 コラボガチャあり CDコラボ神羅万象チョココラボエヴァコラボアイルーコラボバットマンコラボHUNTER×HUNTERコラボハローキティコラボパズバトコラボドラゴンボールコラボ聖闘士星矢コラボビックリマンコラボDCコミックスコラボぷぎゅコレコラボ北斗の拳コラボB-side Labelコラボファイナルファンタジーコラボデュエル・マスターズコラボ進撃の巨人コラボサンデーオールスターズコラボクローズコラボBLEACHコラボるろうに剣心コラボキン肉マンコラボマガジンオールスターズコラボモンスターハンターコラボ鋼の錬金術師コラボKOFコラボ幽☆遊☆白書コラボペルソナコラボマジック:ザ・ギャザリングコラボパワプロコラボガンホーコラボガチャ銀魂コラボソードアート・オンラインコラボ仮面ライダーコラボ妖怪ウォッチWコラボFate/stay night[HF]コラボストリートファイターV AEコラボシャーマンキングコラボサンリオキャラクターズコラボチャンピオンオールスターズコラボサムライスピリッツコラボ コラボガチャなし ROコラボ太鼓の達人コラボECOコラボぐんまコラボケリ姫コラボガンホーコラボカピバラさんコラボCoCコラボグルーヴコースターコラボラグオデAコラボドラゴンズドグマコラボ高岡市コラボサーティワンコラボアングリーバードコラボパズドラZコラボ三国テンカトリガーコラボパズドラクロスコラボ逆転裁判6コラボPepperコラボマクドナルドコラボ 季節もの+α お正月バレンタインパズドラ学園ジューンブライド夏休みハロウィンクリスマスフェス限ヒロイン龍契士 龍喚士龍楽士神器龍物語 降臨イベント 一覧 15MP級20MP級25MP級50MP級99MP級 スペダン龍 元スペダン龍 華龍蟲龍丼龍猫龍機甲龍犬龍古代龍鉄星龍契約龍転界龍護神龍宝珠龍戦武龍伴神龍 その他 プレゼント モンスターメダル ヌエ・双角トロール古老色違いガチャキャラ色違い降臨キャラその他 トレジャー レーダードラゴンレーダー龍喚士精霊王オルファリオンパーツその他 ステッカーコレクション書籍特典イラストコンテストモンスター購入専用パズドラレーダー連動モンスター交換所専用 リーダースキル:【7×6マス】リーダースキル:【追い打ち】リーダースキル:【コンボ加算】リーダースキル:【覚醒無効状態】 モンスター名で検索 して、 「図鑑/×××」の部分をクリック すると個別ページに飛べます。 タグ検索 ※リンク先は【覚醒スキル】を持つモンスターの一覧です HP強化攻撃強化回復強化火ダメージ軽減水ダメージ軽減木ダメージ軽減光ダメージ軽減闇ダメージ軽減自動回復バインド耐性暗闇耐性お邪魔耐性毒耐性火ドロップ強化水ドロップ強化木ドロップ強化光ドロップ強化闇ドロップ強化回復ドロップ強化操作時間延長バインド回復スキルブースト火属性強化水属性強化木属性強化光属性強化闇属性強化2体攻撃スキル封印耐性マルチブースト神キラーマシンキラー悪魔キラードラゴンキラー回復キラー攻撃キラー体力キラーコンボ強化ガードブレイク追加攻撃チームHP強化チーム回復強化ダメージ無効貫通覚醒アシスト超追加攻撃スキルチャージバインド耐性+操作時間延長+雲耐性操作不可耐性スキルブースト+HP80%以上強化HP50%以下強化L字消し軽減L字消し攻撃超コンボ強化コンボドロップスキルボイスダンジョンボーナス ■攻撃系 ダメージダメージ+吸収ダメージ+自傷割合ダメージ固定ダメージ ■回復系 体力回復バインド回復覚醒無効状態回復 ■デバフ系 ターン遅延防御減少毒属性変化 ■盤面変化系 目覚めドロップロックドロップロック解除 ■強化系 ドロップ強化全体攻撃コンボ加算 ■ギミック無効化系 ダメージ吸収無効化属性吸収無効化ダメージ無効貫通消せないドロップ回復 ■パラメータ強化系 属性エンハンスタイプエンハンス回復力エンハンス覚醒数エンハンス ■防御系 ダメージ軽減 ■操作補助系 操作時間延長時間停止 ■ドロップ変化系 シングル変換ダブル変換列変換ランダム変換全ドロップ変換ドロップリフレッシュ特定型ドロップ生成 ■変換先ドロップ 火ドロップ水ドロップ木ドロップ光ドロップ闇ドロップ回復ドロップお邪魔ドロップ毒ドロップ ■その他 4ターン以下のスキル反撃ランダム効果ヘイストリーダーチェンジ落ちコン無効ルート表示 ↑カテゴリを選んでください モンスター図鑑 No.3694 お市 お市 No.3694 レア度 6 レベル 1 最大Lv99 スキル 賢徳姫の祈念 究極進化 覚醒お市 コスト 25 HP 2928 ターン(最短) 18(13) 知慮の賢姫神・お市 タイプ 神/回復 攻撃力 1295 Lスキル 木瓜の護紋 主属性 木 回復力 605 進化元 なし 編集 副属性 木 EXP 400万 4,000,000 進化先 究極進化(2種) 覚醒 バインド耐性 / バインド耐性 / スキル封印耐性 / スキル封印耐性 生息地・入手方法 レアガチャ 進化・合成情報 進化:お市 究極進化(知慮の賢姫神・お市・覚醒お市) 同スキルモンスター知慮の賢姫神・お市 木の戦武龍・ガンゾ 覚醒スキル スキル・Lスキル スキル:賢徳姫の祈念1ターンの間、2コンボ加算される。全ドロップを木、闇、回復ドロップに変化。 Lスキル:木瓜の護紋ドロップを3個以下で消せないが、木属性の攻撃力が4倍。木の2コンボ以上でダメージを軽減、攻撃力が4倍。 備考 来歴 2017年4月14日、実装。( 公式告知 ) コメント 正月ヤマタケ感ある -- 2017-04-14 14 42 31 手に持っているドクロは、もしや旦那のか? -- 2017-04-14 18 12 50 金色だしそうだろうね -- 2017-04-15 16 36 34 転生クシナダの技マシンになるために生まれてきたような性能 -- 2017-04-15 22 52 30 覚醒進化素材は独眼竜・マサムネ、義憤の天魔龍・ノブナガ、碧色の鬼神面×2、紫色の鬼神面 -- 2017-04-15 23 20 35 コンボ吸収対策には覚醒前の方が良いのだよなあ・・・。2体ほしい。 -- 2017-05-17 00 56 38 先の話だけど、コッチも究極とか超究極とかでフォローして行って欲しいかな。今でもアシストで2体目需要に応えてはいるけども -- 2017-05-18 00 42 34 コメント すべてのコメントを見る
https://w.atwiki.jp/usonx/pages/17.html
H8について 本ページは、基本的にH8/3694(Tiny)についての記述になります。秋月のH8/3694Fキットが使いやすい。 回路図サンプル H8開発環境 オフィシャルな環境としては、ルネサスのHEW 趣味開発としては、GCC Developer Liteが良い H8/Tiny@GCCでは実数計算(float)がおかしい? (double)でキャストするか、整数×1000などで対応した方がよいかも LEDチカチカ LED:サンプル 外部割り込み irq:サンプル I2C I2C:サンプル A/Dコンバータ ADC:サンプル Timer TimerVとAのサンプル Timer:サンプル UART UART:サンプル UART(これはH8/3048F用) サンプル 外部割込み //----------------------- // 割り込み設定 初期化 //----------------------- IO.PMR1.BIT.IRQ1=1; /* P15をIRQ1にセット */ IEGR1.BIT.IEG1=0; /* IRQ1の立ち下がりエッジを検出 */ IRR1.BIT.IRRI1=0; /* IRQ1割込み要求フラグをクリア */ IENR1.BIT.IEN1=1; /* IRQ1割込み許可 */ void int_irq1(void) { IRR1.BIT.IRRI1=0; IENR1.BIT.IEN1=0; IENR1.BIT.IEN1=1; /* IRQ1割込み許可 */ // IO.PDR8.BIT.B7 =0; // ここに処理 } TimerA //----------------------- // タイマA設定 初期化 //----------------------- TA.TMA.BYTE=0x18; /* オーバーフロー周期1秒 */ IRR1.BIT.IRRTA=0; /* タイマーA割込みフラグのリセット */ IENR1.BIT.IENTA=1; /* タイマーA割込みを利用可能にする */ void int_timera(void) /* タイマーA割込み関数 */ { IRR1.BIT.IRRTA=0; if(onoff==1){ IO.PDR8.BIT.B7 =0; onoff=0; }else{ IO.PDR8.BIT.B7=1; onoff=1; } } IRQ(外部割込み) //----------------------- // 割り込み設定 初期化 //----------------------- IO.PMR1.BIT.IRQ1=1; /* P15をIRQ1にセット */ IEGR1.BIT.IEG1=0; /* IRQ1の立ち下がりエッジを検出 */ IRR1.BIT.IRRI1=0; /* IRQ1割込み要求フラグをクリア */ IENR1.BIT.IEN1=1; /* IRQ1割込み許可 */ void int_irq1(void) { DI; IRR1.BIT.IRRI1=0; IENR1.BIT.IEN1=0; IENR1.BIT.IEN1=1; /* IRQ1割込み許可 */ IO.PDR8.BIT.B7 =0; EI; } H8/3694のI2C #define EX1_SEL0x02// extra i2c #define RTC_SEL0x01// real time clock // ポートイニシャライズ void I2C_Init(void){ IO.PDR5.BIT.B6 = 0;// P56,P57がI2C用のバスライン IO.PDR5.BIT.B7 = 0;// P56,P57のデータは0にしておく IO.PCR5 = IO.PCR5 0x3F;// I2CでEEPROMを使う場合 P56,P57を入力に設定しておく } unsigned char I2C_ReadByte( unsigned short adrs ,unsigned char slave_adrs) { unsigned char data; TEEPROM eep = {ep256k, slave_adrs, adrs}; if(slave_adrs == RTC_SEL){ eep.MemSize = ep2k; } EEPROM_ByteRead ( eep, (_BYTE *) data); return(data); } unsigned char I2C_WriteByte( unsigned short adrs , unsigned char wr_data ,unsigned char slave_adrs) { TEEPROM eep = {ep256k, slave_adrs, adrs}; if(slave_adrs == RTC_SEL){ eep.MemSize = ep2k; } // eep.MAddr = adrs; EEPROM_ByteWrite ( eep, wr_data); return(0); } int RTC_GetSeconds(void) { unsigned char dat; dat = I2C_ReadByte( 0x02,RTC_SEL ); return ((dat 4) 0x07) * 10 + (dat 0x0f); } int RTC_GetMinutes(void) { unsigned char dat; dat = I2C_ReadByte( 0x03,RTC_SEL ); return ((dat 4) 0x07) * 10 + (dat 0x0f); } int RTC_GetHours(void) { unsigned char dat; dat = I2C_ReadByte( 0x04,RTC_SEL ); return ((dat 4) 0x03) * 10 + (dat 0x0f); } int RTC_GetDays(void) { unsigned char dat; dat = I2C_ReadByte( 0x05,RTC_SEL ); return ((dat 4) 0x03) * 10 + (dat 0x0f); } int RTC_GetWeekends(void) { unsigned char dat; dat = I2C_ReadByte( 0x06,RTC_SEL ); return(dat 0x07); } int RTC_GetMonths(void) { unsigned char dat; dat = I2C_ReadByte( 0x07,RTC_SEL ); return ((dat 4) 0x01) * 10 + (dat 0x0f); } int RTC_GetYears(void) { unsigned char dat; dat = I2C_ReadByte( 0x08,RTC_SEL ); return ((dat 4) 0x0f) * 10 + (dat 0x0f); } void RTC_SetSeconds(int dat) { I2C_WriteByte( 0x02 , (((dat / 10 ) 4) + (dat % 10)) 0x7f , RTC_SEL ); } void RTC_SetMinutes(int dat) { I2C_WriteByte( 0x03 , (((dat / 10 ) 4) + (dat % 10)) 0x7f , RTC_SEL ); } void RTC_SetHours(int dat) { I2C_WriteByte( 0x04 , (((dat / 10 ) 4) + (dat % 10)) 0x3f , RTC_SEL ); } void RTC_SetDays(int dat) { I2C_WriteByte( 0x05 , (((dat / 10 ) 4) + (dat % 10)) 0x3f , RTC_SEL ); } void RTC_SetWeekends(int dat) { I2C_WriteByte( 0x06 , dat 0x07 , RTC_SEL ); } void RTC_SetMonths(int dat) { I2C_WriteByte( 0x07 , (((dat / 10 ) 4) + (dat % 10)) 0x7f , RTC_SEL ); } void RTC_SetYears(int dat) { I2C_WriteByte( 0x08 , ((dat / 10 ) 4) + (dat % 10) , RTC_SEL ); } H8/3694 #include 3694.h #include stdio.h // 今までの記述とのある程度の互換性を保つためのマクロ #define rs_init SCI3_INIT #define rs_rx_buff SCI3_IN_DATA_CHECK #define rs_tx_buff SCI3_OUT_DATA_CHECK #define rs_rx_purge SCI3_IN_DATA_CLEAR #define rs_tx_purge SCI3_OUT_DATA_CLEAR #define rs_putc SCI3_OUT_DATA #define rs_puts SCI3_OUT_STRING #define rs_putsb SCI3_OUT_STRINGB #define rs_getc SCI3_IN_DATA #define rs_gets SCI3_IN_STRING #define rs_printf SCI3_PRINTF void init(); char txb[10], rxb[10], buf[15]; // RS-232C 通信用グローバル変数 int main() { //int ch; //int adv, intp, decip; //char rx_data; unsigned char c = 0x00; int cnt = 0; int flg = 0; DI; // 割り込み不許可 init(); // H8/3664F 初期化 EI; // 割り込み許可 // 正常起動メッセージの表示 SCI3_OUT_STRING ("H8/3694F RS232 test \n"); //文字列送信関数 IO.PDR8.BIT.B0 = 1; do { if (rs_rx_buff () 0) { // 受信バッファ確認 c = rs_getc (); // 1文字受信 // SCI3.SSR3.BIT.TRDE = 0x00; // SCI3.SSR.BIT.RDRF = 0x00; // rs_putc (c+1); // 1文字受信待ち ホストへエコーバック SCI3_OUT_DATA(c); if (c == 164) { SCI3_OUT_DATA(0x00); SCI3_OUT_DATA(0x1E); SCI3_OUT_DATA(0x86); SCI3_OUT_DATA(0x8E); SCI3_OUT_DATA(0xC7); SCI3_OUT_DATA(0x0F); SCI3_OUT_DATA(0x5A); SCI3_OUT_DATA(0xFF); SCI3_OUT_DATA(0x08); cnt = 0; } } c = 0x00; //if (c == 12) IO.PDR8.BIT.B1 = 1; //SCI3_PRINTF ("%d",7); //c = 12; //SCI3_OUT_DATA(c); }while(1); return 0; } void init() { // H8/3664F 初期化処理 IO.PMR1.BYTE=0x00; // 全て0にセットし、ポート使用に 設定 0000 0000 IO.PCR1=0xFF; // 全て1にセットし、出力に設定 1111 1111 // PCRレジスタは IO.PCR1.BYTE 記述でない! IO.PUCR1.BYTE=0x00; // 全て0にセットし、プルアップなし IO.PCR8 = 0xFF; // LED用ポートの設定 全1セット、出力に設定 //SCI3.SCR3.BYTE = 0x30; // //SCI3.SCR3.BIT.TE = 1; // 送信許可 //SCI3.SCR3.BIT.RE = 1; // 受信許可 //SCI3.SSR.BYTE = 0x80; //SCI3.SMR.BYTE = 0x00; SCI3_INIT(br9600, txb, sizeof(txb), rxb, sizeof(rxb)); // RS-232C通信の初期化; } H8ライタ(3048F用)製作における注意点 RS232Cレベル変換のICのコンデンサ(0.1uか1.0uFかなど)に注意する(通常は2番ピンが+10V、6番ピンが-10V近くになっているはず) 上記コンデンサの接続注意 VppとMD2ラインに+12Vをかける際、H8本体に電源(+5V)が供給されていること(そうしないとH8が壊れる可能性大) USB-RS232C変換ケーブルだと駄目なケースがあるので、PCのCOMポートを使うとよい 通信速度は、環境によるが19200bps以下が安定して書き込める H8が壊れるとめちゃめちゃH8が熱くなる(電流0.3Aとか、正常時は0.08Aとか)
https://w.atwiki.jp/pazdra/pages/14253.html
お市 No.3694 レア度 6 レベル 1 最大Lv99 スキル 賢徳姫の祈念 究極進化 覚醒お市 コスト 25 HP 2928 ターン(最短) 18(13) 知慮の賢姫神・お市 タイプ 神/回復 攻撃力 1295 Lスキル 木瓜の護紋 主属性 木 回復力 605 進化元 なし 編集 副属性 木 EXP 400万 4,000,000 進化先 究極進化(2種) 覚醒 バインド耐性 / バインド耐性 / スキル封印耐性 / スキル封印耐性
https://w.atwiki.jp/dendenkeroro/pages/32.html
H8/3694でパソコンと通信してみましょう。 基本的なやり方は3069でも変わらないはず。 とりあえず以下のプログラムを3694に転送。 文字受信でLED点灯プログラム GCC Liteで3694用にコンパイルして書き込むだけです。 書き込めたらVC++のシリアル通信アプリも起動して実際に通信してみましょう。 スイッチ入力でパソコンに文字送信 こちらは3052用。ビットレートを書き換えれば3048にも使えます。あえて3048を使う必要もないのでは? プログラムはいたってシンプル。スイッチを押し続ける時間に応じて「Hello, World!!」をパソコンに送信し続けます。
https://w.atwiki.jp/santa2009/pages/37.html
TekuRobo工作室 3694で始める電子回路
https://w.atwiki.jp/kisarazu_maicon/pages/95.html
H8 もともとは日立製のマイコン. 今は日立から分かれたルネサスが後継機となるSHなどを含めて作っている. 秋月H8 H8というと秋月電子通商が販売しているAKI-H8を指していることが多い. というかそれ以外売ってないに近い. このAKI-H8はマイコンであるH8に加え,5Vレギュレータ,書き込み用のRS-232C回路やクロックなどがすでに搭載されているため,電源さえあればすぐに動かすことができる. 開発環境としてGccDeveloperLiteというソフトをBesttechnology社が配布している. このソフトを利用することにより,プログラムを書いてコンパイル,そのままRS-232CケーブルでH8にプログラムを書き込むことができる. プログラムのエディタとコンパイラはHEW(ルネサスが提供)にもある. ライティングソフトは秋月電子からも提供(H8に付属)している. どちらを使うかは自由に選べるが,GDLを使ったほうが無難,楽. プログラムに対する基本的な考え方は,おそらくPICやAVRと変わらないが,ライブラリはほとんどない. 直接レジスタをいじっていくしかない. しかし,(当時にしては)性能は非常に高い(値段もその分高いが). もう10年も前くらい古いマイコンなのに16bitマイコン. より人が使う組み込み向きな機能を多数備えている. 小型のものではH8/3664かH8/3694,大型のものはH8/3052が主流. H8/3048は書き込みに高電圧が必要で,H8/3052の下位互換に値するのでお勧めできない. のちにSHシリーズへと発展している. 時代遅れとまではいかないが,何せ歴史のあるマイコンなので,使っている人は減っているだろう.
https://w.atwiki.jp/prog/pages/25.html
これならわかるC 入門の入門 これならわかるC 入門の入門 最初からつまずかず、最後まで読み終えられて、プログラミングのセンスとC言語の基礎知識がしっかり身につく、やさしいプログラミングの入門書。 C言語を学んだことがない人でも、段階的に理解できるように、基本的な用語を丁寧に解説し、無理なく学習できるように作られています。 プログラミングやハード、ソフト、コンピュータの仕組みから解説しているので、事前の知識は一切必要ありません。 また、小さなサンプルを作って、「作る→動かす」を徹底的に反復することで、プログラミングを体感的に学べるように作られていますので、途中で挫折することなく、プログラムの組み方と知識を同時に学べます。 選択肢 投票 この本を推薦する! (8)
https://w.atwiki.jp/a0713/pages/15.html
石垣 [sinnya07atgmail.com]at=@ 01/28 docファイルで現状のファイルをUP H8の応用範囲をもっともっとさがしてみてください。 文章の統合はあとでします。 メモ PB0はCN1の33ピン(3069f) 3069マザーボード上のLEDのポート P4 3664 LED電光掲示板 マイコン4004開発に携わった偉い人 嶋 正利氏 はじめに 昨今、身の回りの機械製品にはマイクロコンピュータが組み込まれ使われている。 マイクロコンピュータ 以下略 応用するためのドキュメントを作成する。 マイコンとは CPU、LSIの説明 マイコンの分野 組み込み モータなどの高電流を必要とするものへの信号の伝え方 研究で使用した装置 AKI-H8/3069F日立フラッシュマイコンH8/3069F搭載のキット。 3069の写真 AKI-H8/3052F日立フラッシュマイコンH8/3052F搭載のキット。 3052の写真 AKI-H8/3069FとAKI-H8/3052の仕様。 30693052 CPUH8/3069 16ビット H8/300H 25MHzH8/3052 16ビット H8/300H 25MHz 内臓ROM512KB512KB 内臓RAM16KB8KB SCIRS-232CRS-232C ネットワークコントローラありなし I/Oポート最大79最大78 A/D10ビットA/Dコンバータ8ch10ビットA/Dコンバータ8ch D/A8ビットD/Aコンバータ 2ch8ビットD/Aコンバータ 2ch 本研究で使用したマイコンボードにはRS-232Cドライバ/レシーバが実装されており、パソコンとケーブルでつなぐことにより通信が可能になっている。 ただしAKI-H8/3052Fのほうは接続するためのDサブ9ピンコネクタがないため、回路図通りの接続ができるように回路を事前に作らなければならない。 AKI-H8/3069FはRJ45ソケット、RTL8019ネットワークコントローラが共に搭載されておりLANが使用することが出来る。 3069の転送方法(仮想TFTPサーバ)と実行(ターミナル) 3052の転送方法と実行 マイコンへのプログラム転送や実行は、 OSの有無による開発環境の違い? 3069で行ったLEDの点灯 3052で行ったLEDの点灯 その二つの違い。 まとめ プログラムがハードにどのような影響をあたえているか。理解できた(0と1の信号をおくっているだけである) 参考文献 付録 H8の種類 3069のbrledのプログラム 3069のLEDのプログラム 3052のLEDのプログラム H8/3069Rグループ 仕様概要 項 目仕 様 CPU:•H8/300CPUに対してオブジェクトレベルで上位互換 • o汎用レジスタマシン o 汎用レジスタ:16ビット×16本(8ビット×16本+16ビット×8本、32ビット×8本としても使用可能) o高速動作 o 最大動作周波数:25MHz 加減算:80ns 乗除算:560ns oアドレス空間16Mバイト o特長ある命令 o 8/16/32ビット転送・演算命令 符号なし/符号付き乗算命令 (8ビット×8ビット、16ビット×16ビット) 符号なし/符号付き除算命令 (16ビット÷8ビット、32ビット÷16ビット) ビットアキュムレータ機能 レジスタ間接指定によりビット番号を指定可能なビット操作命令 メモリ:•H8/3069RF oROM:512Kバイト oRAM:16Kバイト• 割り込みコントローラ:•外部割込み端子7本:NMI、IRQ0~IRQ5 •内部割込み36要因 •3レベルの割込み優先順位が設定可能 バスコントローラ:•アドレス空間を8エリアに分割し、エリアごとに独立してバス仕様を設定可能 •エリア0~7に対してそれぞれチップセレクト出力可能 •エリアごとに8ビットアクセス空間/16ビットアクセス空間を設定可能 •エリアごとに2ステートアクセス空間/3ステートアクセス空間を設定可能 •2種類のウェイトモードを設定可能 •エリアごとにプログラムウェイトのステート数を設定可能 •バーストROMを直接接続可能 •最大8MバイトのDRAMを直接接続可能(またはインターバルタイマとして使用可能) •バス権調停機能 DMAコントローラ(DMAC):•ショートアドレスモード • o最大4チャネルを使用可能 oI/Oモード/アイドルモード/リピートモードの選択可能 o起動要因:16ビットタイマチャネル0~2のコンペアマッチ/インプットキャプチャA割込み、A/Dコンバータ の変換終了割込み、シリアルインタフェース の送信データエンプティ/受信データフル割込み、外部リクエスト •フルアドレスモード • o最大2チャネルを使用可能 oノーマルモード/ブロック転送モードの選択可能 o起動要因:16ビットタイマチャネル0~2のコンペアマッチ/インプットキャプチャA割込み、A/Dコンバータ の変換終了割込み、外部リクエスト、オートリクエスト 16ビットタイマ×3チャネル:•16ビットタイマ3チャネルを内蔵。最大6端子のパルス出力、または最大6種類のパルスの入力処理が可能 •8ビットタイマカウンタ×1(チャネル0~2) •アウトプットコンペア出力/インプットキャプチャ入力(兼用端子)×2(チャネル0~2) •同期動作可能(チャネル0~2) •PWMモード設定可能(チャネル0~2) •位相計数モード設定可能(チャネル2) •コンペアマッチ/インプットキャプチャAの割込みによりDMAC起動可能(チャネル0~2) 8ビットタイマ×4チャネル:•8ビットアップカウンタ(外部イベントカウント可能) •タイムコンスタントレジスタ×2 •2チャネルの接続が可能能 プログラマブルタイミングパターンコントローラ(TPC):•16ビットタイマをタイムベースとした最大16ビットのパルス出力が可能能 •最大4ビット×4系統のパルス出力が可能(16ビット×1系統、8ビット×2系統などの設定も可能) •ノンオーバラップモード設定可能 •DMACによる出力データの転送可能 ウォッチドッグタイマ(WDT)×1チャネル:•オーバフローによりリセット信号を発生可能 •リセット信号の外部出力可能(ただしF-ZTAT版は不可) •インターバルタイマとして使用可能 シリアルインタフェース×3チャネル:•調歩同期/クロック同期式モードの選択可能 •送受信同時動作(全二重動作)可能 •専用のボーレートジェネレータ内蔵 •スマートカードインタフェース拡張機能内蔵 A/Dコンバータ:•分解能:10ビット •8チャネル:単一モード/スキャンモード選択可能 •アナログ変換電圧範囲の設定が可能 •サンプル ホールド機能付 •外部トリガまたは8ビットタイマのコンペアマッチによるA/D変換開始可能 •A/D変換終了割込みによるDMAC起動可能 D/Aコンバータ:•分解能:8ビット •2チャネル •ソフトウェアスタンバイモード時D/A出力保持可能 I/Oポート:•入出力端子70本 •入力端子9本 動作モード:•7種類のMCU動作モード モードアドレス空間アドレス端子バス幅初期値バス幅最大値 モード11MバイトA19~A08 ビット16 ビット モード21MバイトA19~A016 ビット16 ビット モード316MバイトA23~A08 ビット16 ビット モード416MバイトA23~A016 ビット16 ビット モード516MバイトA23~A08 ビット16 ビット モード71Mバイト--- •モード1~4では内蔵ROMは無効となります。 低消費電力状態:•スリープモード •ソフトウェアスタンバイモード •ハードウェアスタンバイモード •モジュール別スタンバイ機能あり •システムクロック分周比可変 その他:•クロック発振器内蔵 論文目次候補 改 はじめに 昨今、身の回りの機械製品にはマイクロコンピュータが組み込まれ使われている。 マイクロコンピュータ 以下略 応用するためのドキュメントを作成する。 H8の種類の多さ H8の役割 研究で使用した装置 3069と3052の違い。OSの有無による違い。 まとめ 参考文献 付録 3069 LANによる通信。CGIが使える。WEBサーバ。 CGIを使ったブラウザ上からマザーボード上のLEDの操作。 マザーボード上のDIPスイッチのON/OFFをブラウザ上に表示。 3664/LED電光掲示板 付属のソフトウェアによる文字列の表示。 /*LEDをブラウザから点灯消灯するプログラム*/ h8/reg3067.h mes2.h int main(int argc, char **argv) { char led[2][4]; cgi_value(*(argv+1), "led0", led[0], 3); cgi_value(*(argv+1), "led1", led[1], 3); P4DDR = 0xc0; P4DR = 0; if(led[0][0] == o ) P4DR |= 0x40; if(led[1][0] == o ) P4DR |= 0x80; printf(" html body \r\n"); printf(" h1 LEDテストページ /h1 hr \r\n"); printf(" p argcは%dです。 /p \r\n",argc); printf(" p *argvは%sです。 /p \r\n",*argv); printf(" p *(argv+1)は%sです。 /p \r\n",*(argv+1)); printf(" p 赤は%sです /p \r\n",led[0]); printf(" p 緑は%sです /p \r\n",led[1]); printf(" form action=\"%s\" ",*argv); printf("led1(赤) input type=\"checkbox\"name=\"led0\" %s \r\n",(led[0][0]== o ) ? "checked" ""); printf("led2(緑) input type=\"checkbox\"name=\"led1\" %s br \r\n",(led[1][0]== o ) ? "checked" ""); printf" inputtype=\"submit\"value=\"submit\" br \r\n"); printf(" /form hr \r\n"); printf(" /body /html \r\n"); } このプログラムによるブラウザの表示 添付ファイル参照 led無 LEDのチェックボックスがOFFの状態 led赤 赤のチェックボックスがON 緑のチェックボックスがOFFの状態 led緑 赤のチェックボックスがOFF 緑のチェックボックスがONの状態 led赤緑 赤のチェックボックスがON 緑のチェックボックスがONの状態 組み込みシステム 携帯電話、洗濯機、炊飯器、テレビ、HDレコーダ、iPod、車などには コンピュータが入っています。これらに入っているコンピュータシステムを、 組込みシステムと呼びます。近年の半導体技術・マイクロプロセッサ技術の 進歩によって、組込みシステムの応用分野は拡大の一途をたどっており、 身の回りの電子機器・電気機器のほとんどに組込みシステムが使われています。 組込みシステムの使われている機器の例を表に挙げます。 組み込みシステムの適用例 AV機器 テレビ, ビデオ, デジタルカメラ, セットトップボックス, オーディオ機器 •家庭電化製品 電子レンジ, 炊飯器, エアコン, 洗濯機 •個人用情報機器, 娯楽・教育機器 PDA, 電子手帳, カーナビ, ゲームマシン, 電子楽器 •パソコン周辺機器 プリンタ, スキャナ, ディスクドライブ, CD-ROMドライブ •OA機器 コピー, FAX, ワープロ •通信機器 留守番電話機, ISDN電話機, 携帯電話, PHS, ATMスイッチ, 放送機器・設備, 無線設備, 人工衛星 •運輸機器 自動車(エンジン制御, ABS, エアバッグ), 列車制御, 航空機制御 •工業制御, その他 プラント制御, 工業用ロボット, エレベータ, 自動販売機, 医療用機器, 業務用データ端末 •最終製品が多岐に亘るため、汎用コンピュータに比べて組み込みシステムは非常数と種類が多い。 •ソフトウェアだけでなくハードウェアも専用のものを開発することが多い。また、そのハードウェアに対応したデバイスドライバを作る必要もある。 •機械の制御を行う場合にはリアルタイム制御が重要になる。 •大量生産される製品の場合にはコストが非常に重要となるので、必要最低限のメモリと、安価なCPUで動作する必要がある。小規模なシステムでは1チップマイコンを利用することが多い。 •ほとんどの組み込みシステムでは、ユーザがプログラムを入れ替えたり更新したりすることは想定されない。そのため汎用コンピュータよりも自由にオペレーティングシステムやシステム構成を選択できる。 •組み込みに用いられるOSとしては、日本においてはμITRON仕様OSが採用されることが多い。VxWorks、OS-9、QNXなども広く利用され、また最近では強力なネットワーク機能により本来汎用OSであるNetBSD、OpenBSD、FreeBSDなどのUnix-likeOSにも注目が集まっている。詳しくは、組み込みオペレーティングシステムを参照のこと。 •ただし、現在においても、特に低資源の環境ではOSを採用しないことも多い。 •かつては、ソフトウェアはEPROM(特にUV-EPROMが使われることが多かった)に書き込まれた状態で出荷されたため、出荷後にバグが発見されると、製品回収・交換作業などが必要になり、多大な費用がかかった。近年は主にフラッシュメモリが採用されるようになったので、出荷後の書き換えも可能となったが、大きな影響を及ぼすことには変わりはない。デジタル家電やパソコンの周辺機器などの場合、修正ソフトウェアはネットワークを介して公開されることが多い。 •ソフトウェアはC言語で記述されることが多い。32ビット以上のマイコンなど、比較的ハードウェア資源が豊富な環境ではC++やJavaが使用されることもある一方で、4ビットマイコンなどの資源が貧弱な環境や、逆に他言語では間に合わないような極めて高速な処理を求められる場面では、現在でもアセンブリ言語の使用が必須である。 •(ソフトウェア開発全般の話で)最近では開発にUMLといったオブジェクト指向の手法が取り入れられるようになっている。ただし組み込みシステム開発においては、機能で分類したクラスでプログラムを組み立てるのではなく、信頼性が保証されたモジュールで組み立てるのが普通である。 •デバッグは、ICEと呼ばれる機器を用いてパソコンをCPUに接続してリモートで行う。近年では、ICEを使わずJTAGエミュレータやROMエミュレータなどのエミュレータや、パソコン上でCPUの機能をシミュレートするシミュレータも使用される。 •近年ではPCベースのハードウェアの低価格化に伴い、PCベースのハードウェアを使用し、OSも組み込み向けにカスタマイズしたWindows CEやLinuxなどが採用されている。Windows Embeddedは航空券のチェックインシステムからコンビニのPOSレジまで幅広く採用されている(組み込み版ではなかったWindowsNT 4.0の頃から組み込みシステムに採用されていた)。 •携帯電話やデジタル家電、自動車など、必要とする機能が多岐にわたるシステムは、複数のマイコン・複数のOSを組み合わせたものとなり、数百人単位の開発人数・数年規模の開発期間を必要とする。このため、大規模組み込みシステムと呼ばれることがある。 •専用のハードウェアに専用のソフトウェアが搭載されて製品となるものが多いので、そのテスト工程は、ハードウェア、ソフトウェアの両方にまたがる検証が重要になる。 マイコンはどのようなところで使われているか 最近の家電製品に多く使われている。パソコンで使うマウス、マウスの移動方向と移動量を数値データに変換してパソコンに出力している。 扇風機では、操作スイッチに応じてモータの回転数を制御して風量を調節したり、快適な清涼感を得るために風量を自然の風の揺らぎに近づけたりしている。マイコン内蔵タイマにより一定時間経過したら停止する「お休みタイマ」なども簡単に実現できる。 自動車のキーレスエントリでは、カギ側ではボタン操作情報とシリアル番号・暗号キーなどから、暗号化したシリアルデータを生成するエンコーダに、車体側では送られてきたシリアルデータに含まれる暗号キーを元に解読し、ボタン操作情報を取り出すデコーダに、それぞれマイコンが使われている。同一車種でも所有者が異なると開閉できなかったり、複数のキーで1台の車の開閉ができるしくみは、カギ側のシリアル番号を車体側のマイコンに登録しておくことで、暗号解読の際にシリアル番号の照合を行い、登録してある相手からの情報であるかどうか判断しているからである。 また、エアコンもマイコンを使われてるが、エアコンを例にすると以下のようになる。 a.部屋の温度を調べる(入力) b.部屋の温度と設定温度を比較する(判断) c.設定温度以上であれば止めて、設定温度以下であれば暖める(出力) 基本的には上記のa~cを繰り返して部屋の温度を一定にしている。 ただし、マイコンを使ってプログラムを作るともう少し賢い制御ができる。 例えば25度に温度を設定している場合、上記の処理では25.1度になるとエアコンがOFFして24.9度になるとエアコンがONしてしまい、頻繁にON/OFFを繰り返すことになる。 上記を解決するために、判断を賢くして設定温度が25度でも26度以上でOFFして24度以下でONするようにプログラムを作ることで頻繁なON/OFFを防ぐことができる。 1/15 冨田 マイコンとは マイコンとは、CPUやメモリを1つのLSIチップに集積した回路のことである。 マイコンとは元々「マイクロコンピュータ」の略称で、文字通り、超小型のコンピュータを意味するのものだった。「パソコン」の用語が広まる以前は、個人レベルで使用するコンピュータシステムを指してマイコンと呼んでいた。ここから派生して、マイコンに「マイコンピュータ」(my computer)という意味が付け加えられた。 マイコンという言葉は最近の家電製品にも使われており一般的になってきた。 CPUは、プログラム(命令)を実行するもの。プログラムでは、ある入力に対して様々な計算や条件判断を行い何らかの出力を行う。 メモリとは、1または0といったようにBIT単位(2進数)のデジタルデータを記録するための半導体記憶素子である。 マイコンはどのようなところで使われているか 最近の家電製品に多く使われている。パソコンで使うマウス、マウスの移動方向と移動量を数値データに変換してパソコンに出力している。 扇風機では、操作スイッチに応じてモータの回転数を制御して風量を調節したり、快適な清涼感を得るために風量を自然の風の揺らぎに近づけたりしている。マイコン内蔵タイマにより一定時間経過したら停止する「お休みタイマ」なども簡単に実現できる。 自動車のキーレスエントリでは、カギ側ではボタン操作情報とシリアル番号・暗号キーなどから、暗号化したシリアルデータを生成するエンコーダに、車体側では送られてきたシリアルデータに含まれる暗号キーを元に解読し、ボタン操作情報を取り出すデコーダに、それぞれマイコンが使われている。同一車種でも所有者が異なると開閉できなかったり、複数のキーで1台の車の開閉ができるしくみは、カギ側のシリアル番号を車体側のマイコンに登録しておくことで、暗号解読の際にシリアル番号の照合を行い、登録してある相手からの情報であるかどうか判断しているからである。 また、エアコンもマイコンを使われてるが、エアコンを例にすると以下のようになる。 a.部屋の温度を調べる(入力) b.部屋の温度と設定温度を比較する(判断) c.設定温度以上であれば止めて、設定温度以下であれば暖める(出力) 基本的には上記のa~cを繰り返して部屋の温度を一定にしている。 ただし、マイコンを使ってプログラムを作るともう少し賢い制御ができる。 例えば25度に温度を設定している場合、上記の処理では25.1度になるとエアコンがOFFして24.9度になるとエアコンがONしてしまい、頻繁にON/OFFを繰り返すことになる。 上記を解決するために、判断を賢くして設定温度が25度でも26度以上でOFFして24度以下でONするようにプログラムを作ることで頻繁なON/OFFを防ぐことができる。 このように、マイコンを使ってプログラムを動かす(実行)ことで細かな制御ができるようになる。 パソコンとマイコンの違い パソコンとマイコンの大きな違いとして、CPUとしての処理能力が違う。 パソコンはマイコンに比べて単位時間当たりの命令実行数が多くなる。 ひとことで言うとパソコンのCPUが速いということになる。 しかし、使用用途を考慮した場合に速いCPUが必ずしも良いとは限らない。 速いCPUの特徴として以下のことがある。 1.消費電力が大きい 消費電力が大きいとは電気をたくさん使うということ。 バッテリーで動作する物を開発する場合に電気を多く使うCPUを使うとバッテリーで動作できる時間が短くなってる。 一概に言えませんが、クロック周波数(パソコンにある何MHzとか何GHzという数字)が高ければ処理能力が高くなるが、同時に消費電力も高くなる。 2.高価である パソコンで使われているCPUは数千円から数万円の価格で販売されている。 しかし、マイコンになると数百円またはそれ以下という価格でも購入できる。 量産品を作る場合は部品のコストは重要である。 1/8 冨田 前回はやはり回路の配線がしっかり挿してなかった。しっかり挿したらLEDがしっかり光ってくれた。 また、LCDのモジュールの制御のプログラミングを打ったが、コンパイルができない。次回見直して完成したい。 12/26 冨田 昨日_ _dataの所を_dataをにしたが、___dataにした。あと、変換ができなかった理由は、数字のゼロと英語の大文字のオーと間違えて打ったため。 プログラミングはできたのだが、しっかりLEDが思ったとおりに光ってくれない。 次回は回路を見直していく。 12/25 冨田 前回のcrt0.sをアセンブルできなかったが、_ _dataの所を_dataにしたところできた。次にcrt0.oとbasicio.oのリンクするが失敗。原因は先ほどの _ _dataの所を_dataにしたためリンクの ファイルも_ _dataの所を_dataに直してなかったから。 しかし最後のbasicio.coffをbasicio.motに変換するところでエラーが多数。原因はわからないのでプログラミングの中を少しずつ書き直してみる。 石垣 H8(3069)がウェブサーバ。IP 192.168.10.2 PCをクライアント。IP 192.168.10.1 H8にはウェブサーバプログラム(MESの開発者のサンプル)http.elfを搭載。 そのほか、H8のマザーボード上のLEDをクライアント側の操作で光らせるCGIプログラムbrled.elfも搭載。 サーバとクライアントはクロスLANケーブルで接続。 ターミナルでH8を操作し、http.elfを実行。 クライアントのブラウザでサーバ内のプログラムbrled.elf(http //192.168.10.2 8088/brled.elf)を実行。 クライアントのブラウザにindex.htmlが表示。 ブラウザ上のチェックボックスのデータを送信ボタンを押したときにサーバに送信。 送信するとき、http //192.168.10.2 8088/brled.elf (この部分にフィールド名=値1&フィールド名=値2…とエンコードされて、サーバに渡される。) サーバは渡された値によってマザーボード上のLEDを点灯/消灯させる。 12/20 冨田 テスト用の書き込み失敗の原因を判明。プログラミングを書き込むときにMD2端子をGNDに接続し、FWE端子を 5Vに接続をしてなかったから。 今はポートの入出力のプログラミングを作っているが、どうしてもスタートアップルーチンがうまく起動しな い。原因はプログラミングの.dataセクションの内容だと思われるが、どこがだめなのか分からない… 石垣 ブラウザからマザーボード上のLEDを点灯させることに成功。(プログラムは参考にしているHPより) IEの設定で3069と通信ができなかった。(pingは通っていた。) RS232Cじゃなくてブラウザからなにかできるようにしようかなぁと思案中。 12/18 石垣 COMポートの不調はドライバのインストール後、再起動しなかったから?の模様。あの後直った。 ブラウザからマザーボード上のLEDを点灯させるつもり。 だが、うまく繋がってない。WEBサーバのプログラム(公式のとこから拾ってきたの)がちょっと違う? 要確認 12/17 石垣 3069へtftpによってLAN経由で自作プログラムをのせて実行することはできた。 が、USBシリアルポート変換ケーブルをつかってみたら今まで使っていたCOMポートまで動作不調に。 (COMポートは開いているが、H8(3069、3664ともに)通信できない) 自分の使っているPCが駄目みたい。 変換ケーブルか?変換ケーブルのせいか? 12/14 石垣 OS(以下MES)を乗せ変えたのはいいが、自作プログラムをRAMに転送させる方法がわかんない。 仮想サーバ立ち上げて、LAN経由で3069側から落とさせるらしい。 そのための設定に手間取り中。 でも、電光掲示板につかっている3664のほうもMESを使っているような感じが・・・ なので、これで通信ができれば結構簡単にいけるかも? 3069とPCはLAN(クロス)ケーブルで、直接つなぐつもり。 ルータって使っちゃいけないんですよね? 調べたところ、RS232Cケーブルをつかってもいけそう?? 12/13 石垣 3069のOSは参考にしているHPと同じものに。 ただし、プログラムを乗せるときにLAN経由らしいのでクロスケーブルを購入予定(探したけど、研究室内にはなさそう) これで、RS232Cでターミナルでのコマンドによる操作でなく、自作プログラムで操作ができれば 通信プログラムは間違っていないことになる。 12/12 石垣 3069でSCIをユーザープログラムで動作させる場合は、JP1から線を引き出してDサブ9ピンとつなげなければならない。 え?また工作するん? 3052に使っているものを拝借するか・・・というか、それが一番はやそう。 参考にしているところが新しいOSのため、3069につんでいるOSを最新のものに書き換えたほうがよさそう。 これで通信ができればwin側のプログラムは間違っていないことになる。 そうすると問題点は、 送るデータが間違っている。(形式どおりにどうコマンドを送るか?) 送信データバイト数の設定が間違っている。 に、絞ることができると思われる。 12/11 石垣 3069にデータを送りつけたとき、どこにはいるのか? 3069側のプログラムは? 3052は今後、入出力とできればLCD 12/10 石垣 winから通信ソフトを使わずに、プログラムから電光掲示板を操作する。 けど、できない。 送信データバイトの設定がおかしい? ファームウェアへのコマンドが届いてない? 3664(電光掲示板セット)の前に3069で通信のテストをする。 これができれば、通信はできていると思われる。 そうすると問題は、3664のファームウェアに送るコマンドデータが おかしいとわかるはず。 毎日いて、この進み具合はマズイ 12/6 冨田 テスト用のプログラムをCPUに書き込み。 だが失敗。色々試したが原因は不明。あとはハンダゴテでつけた所の接触不良の可能性があるから、 次回はそこの所をチェックする。 12/5 石垣 Cで直接3664と通信することにする。 コマンドと数値だけで直接操作できる?(ターミナルが内部で変換しているのかいないのか) 通信プログラムはみつけたので、それを解読。自分で使えるようアレンジ。 12/3 石垣 ハイパーターミナルをつかってコマンドによる希望座標のLEDを光らせることができる。 図形LEDで表示させる。 毎回、座標を計算してコマンドで送るのは大変なのでC言語で自動化しようとおもう。 そのためのプログラムを考える。 問題は、3664への通信。 ターミナルにコマンドと座標をおくってターミナル経由でシリアル通信する? 11/28 冨田 h8のテストプログラムを作成。 11/28 石垣 3664と電光掲示板は壊れてなかった。 電光掲示板のほうは一緒に入っていたソフトで動作確認済み。 このソフトなしで自分でC言語で組んで表示させるようにする。したい。できればいいなぁ・・・ LCDも新たに買ってきたのでこっちの表示もさせてみる。 Cで組むために、ファームウェアのコマンド解析。etc 11/22 h8-3664と電光掲示板の動作確認 動作テストしたあとに、3664がショート・・・ 11/08 /*h8マイコンテストプログラム*/ /*ポート3を入力に設定 押しボタンスイッチ*/ /*ポートBを出力に設定 LED*/ /*押しボタンスイッチが押されている間LED点滅*/ /*離したらLED消灯*/ h8/reg3067.h /*h8/3069fで使用するI/Oポートを定義*/ h8/syscall.h /*h8/OSを使う場合に必ず指定をする*/ int main() { int sw; PBDDR = 0xff;/*PB全8ビットのポートを出力に設定する*/ P3DDR = 0x00;/*P3を全ビット入力に設定*/ while(1) { sw = P3DR 0x01; /*スイッチ入力*/ if(sw == 0){/*スイッチがONならば*/ PBDR = 0x0f;/*LED出力*/ sleep(5);/*0.5秒待機*/ PBDR = 0;/*LED消灯*/ sleep(5);/*0.5秒待機*/ } else/*スイッチがOFFならばLED消灯*/ PBDR = 0; } } sleepの場所をwaitでの待機にしようとしたがコンパイル時にできなかった。 /usr/h8300-hms/lib/h8300h/int32/libc.a(syswait.o) In function `wait syswait.c 12 undefined reference to `_wait collect2 ld returned 1 exit status sw = P3DR 0x01; /*スイッチ入力*/の部分 ビット0の状態を調べるために1とANDしている。 すると、ビット0以外のビットは必ず0にクリアされるため結果的にビット0だけが残る。 それを変数swにいれているのでビット0の値で処理ができる。 作成したスイッチ入力回路はスイッチがONの時に0(LOW)となるので変数swが0の時、 IF文の中の処理に向かう。 11/6 入力テスト終了 P3と接続したスイッチを押すとPBに接続されたLEDが消灯 10/29 h8/3664と電光掲示板との接続リード線の”準備” プレゼンの準備 10/18 LCD死亡? LCDは配線がどこか繋がっていなかっただけで使えた模様。 おいらの一日を返して!orz LCD探してくる。 次回CPUボードの入力を考える。 10/11 LCDのテストをしたところ表示がされなかったので、マザーボードから取り外し確認してみることに。 しかし、取り外せない、まいった。 LCDはなかったことにするか??思案中 マザーボードのLEDも点灯することを確認。 10/04 Bポートを使い、四つのLEDを(0101)(1010)の交互に点灯させることに成功。次はスイッチを追加して、スイッチが押されたときに点灯させるようにする。 また、他のポート(つかっていい場所)でも試してみる。 10/03 h8/3069を通してLEDを点灯することに成功。ひゃっほーい ただし、LEDと抵抗だけの回路なので元のものとは違う? 今までできなかったのはLEDが死んでいたのと、プログラムミス。 回路もまちがっていたかもしれない。要確認。 09/27 動作確認用のLED回路作成。 電子回路を誰か確認していただけるとありがたい。 完成した後、3069マザーボードにLEDがついているのを発見。これ使ってもいけそう。 h8/3069にのせるLED点灯用のプログラムは完成した。 ただし、include h8/3067.h (h8/3069のI/Oポート定義)がないといわれる。 なので、defineでポートごとに定義。 h8/OSのh8/syscall.hはあるのにおかしい。同ファイルにreg3067.hがあるのにもかかわらず認識されず。 10/2 include h8/reg3067.h で解決しました。 ソースが読みにいってるファイルになかっただけでした。 しかし、h8/3069のRAMに書き込まれた、アドレス「fff600」にアクセスできず。 やり方がおかしい? 要確認。 壊れたh8/3069よりDCジャックとDサブ9ピン(メス)を分離。 h8/3052の方で再利用予定。 LED点灯は来週末までには!! 3052のRS232C用のコードは作成完了。でも、Dサブ取れたんだからこれ使ったほうが早そう。 /*led P4*/ /*#include h8/3067.h h8/3069fで使用するI/Oポートを定義*/ h8/syscall.h /*h8/OSを使う場合に必ず指定をする*/ #define P4DDR (*(volatile unsigned char*)0xfffc8) /*ポート4の定義*/ #define P4DR (*(volatile unsigned char*)0xfffca) int main() { P4DDR = 0x01; /*P4のポートを出力に設定する*/ while(1) { P4DR = 0x00;/*P4をLにする*/ sleep(10);/*1秒の時間待ち*/ P4DR = 0x01;/*P4をHにする*/ sleep(10);/*1秒の時間待ち*/ } } C \Documents and Settings\烏野\h8program h8300-hms-gcc -O -mh -mint32 -T ram3067 .x -o led.coff -nostartfiles ramcrt0.s led.c -lc C \Documents and Settings\烏野\h8program h8300-hms-objcopy -O srec led.coff led. mot C \Documents and Settings\烏野\h8program put led.mot fff600 10 5E FF F6 06 54 70 01 00 6D F6 0F F6 01 00 6D F4 fff610 10 7A 03 00 0F FF C8 FA 01 68 BA 7A 04 00 0F FF CA fff620 10 18 AA 68 CA 01 00 6B 22 00 00 01 3C 1A 80 88 0A fff630 10 5D 20 FA 01 68 CA 01 00 6B 22 00 00 01 3C 1A 80 fff640 6 88 0A 5D 20 40 DA 09/11 サンプルプログラムの動作 ハイパータミナルからexecコマンドでサンプルプログラムを動作さ せようとすると止まる。 原因不明。 たまに、dumpでもとまる。(反応がなくなる) CPUボード側でリセットスイッチを押すと再び反応する。 通信時に光るはずのLEDが発光せず。 不良品? 09/04 マザーボード作成完了 CPUボードの動作確認未 07/16 H8/3069F(CPUボード完成 要動作確認) マザーボードはCPUボード動作確認後作成予定 KARAAGEに開発環境セッティング RS232C9ピン:入手済 h8/3069FCPUボードにOSインストール 8/9 インストール完了 電源は+5V安定化電源 h8マイコンボードの制作目的 終了 CPUの動作確認最優先 なんらかの形で動作確認をする。 候補:LEDと接続し点灯 予定 入力と出力のテスト スイッチによる入力とLEDによる出力 (未)LEDとの接続 LEDと接続し動作確認を行ったら、マザーボードの作成 のちLCDによる文字表示など (要)目的は? h8/3069FはLANボードなので通信を使ってなんらかの成果を出したい。LCDがマザーボードについているので、外部からの入力に反応してなんらかの出力をする? 秋月電子 h8/3069Fのぺーじ http //akizukidenshi.com/catalog/items2.php?q=%22K-00168%22 s=popularity p=1 r=1 page= 参考:h8/3052 http //www.mech.tohoku-gakuin.ac.jp/rde/contents/tech/h8/h8_3052.html 自宅PCでコンパイルしたいなどと聞いたので C言語用コンパイラ&エディタなど ここを参考に http //www.ooyashima.net/db/prog.htm#vc BCC Developerは使えるようにしたので、インストールのサポートはできます。 ちなみに、BCC Developerは統合開発環境です。 BCC Developerのreadme.txtを読めばインストは出来るはずです。 コンパイラ本体はユーザー登録の必要あり 今まで自分の使っているものが配布終了していたので、どれがいいかは分からなくなりました。 なげっぱなしもあれなんで。 連絡用においておきますね。っ[sinnya07atgmail.com]at=@