約 9,230 件
https://w.atwiki.jp/maymehdell/pages/31.html
2014/08/10 一気に実装した。 = 多次元の連想配列を1次元に書き出すアルゴリズム探してみるか。 No. ノイズ種類 特徴 例 パレートフィルター上位型 パレートフィルター下位型 備考 1 ノイズX どのレコードでも登場する事象 句読点があるか、など。 ○ 除去可能 - 2 ノイズW 周期的に頻出する事象。 30秒台、など。 ○ 除去可能 - パレートフィルター上位型 頻度上位20%を無視する。 パレートフィルター下位型 頻度下位20%を無視する。
https://w.atwiki.jp/kumedisiketai/pages/1828.html
C Guillain-Barre症候群,慢性炎症性脱髄性多発根神経炎 100B50 免疫グロブリン静注が第一選択の薬物療法であるのはどれか。 a 多発筋炎 b 多発性硬化症 c 重症筋無力症 d 周期性四肢麻痺 e Guillain-Barre症候群 × a × b × c × d ○ e 正解 e 99E52 上行性の両下肢運動麻痺をきたすのはどれか。 a Reye症候群 b 多発性硬化症 c 急性小脳失調症 d Guillain-Barre症候群 e 亜急性硬化性全脳炎〈SSPE〉 × a × b × c ○ d × e 正解 d
https://w.atwiki.jp/6war/pages/408.html
基本情報 名前 ラヴェリア・カルディアス 生没 ラドリザン (1226~1256) 出身 ガルデス共和国 種族 人間 性別 男 略歴 ガルデス共和国評議委員長でありながら、時に独裁者の様な即断を決することがある。 しかしその決断は私利私欲とは無縁で、最終的には結果が後から着いてくるので国民からの人望はあつかった。 1249年に失脚したバックス議長の後任を決める為に行われた選挙において、本命はバース委員であったが、大方の予想を覆してラヴェリアが当選。 1250年にクレアムーンとの不可侵条約を結ぶと、それまでも国境を挟んで幾度となく競い合ったラグライナ帝国との戦いに突入する。更に、自分達だけではなく、クレアムーンも帝国軍との戦いに巻き込む為、ミズハを使い両国の間に火種を巻き、1253年7周期には、クレアムーンだけではなく、レヴァイア王国まで巻き込むべく、使者を送りレヴァイアの乱を起こさせる。 1255年、9周期23日目フェルグリアの戦いに自ら参戦し、帝国軍と激しい戦いを繰り広げるが、後一歩及ばず撤退する。翌年の第3次モンレッドの戦いでは自らも軍勢を率いて最前線へと赴き、皇帝セルレディカと直接対決を演じるが、帝国軍の団結した防壁をついに突破できず、大きく後退することとなる。 この戦いの後にエルから受け取った剣と書状が内通疑惑へと発展し、査問への招集がかかる。 本国に居た反ラヴェリア派の議員はただ彼を陥れる口実が欲しかっただけであったが、彼はこれを退けて逆に反対派の議員を糾弾する。 しかし、その隙にラグライナ帝国軍は大進軍を開始、首都ガイ・アヴェリまで迫りくる。 共和国軍は出陣か、首都篭城かを決めるが、会議の結果首都篭城に決定した、しかしラヴェリアは残された勝機はここしかないと、議長でありながらこの結論を無視し、ノスティーライナの戦いに挑む。 この戦いであと一歩までエルを追い詰めながらも勝利をつかめず、その帰還の最中、エルの内応工作に応じたミズハによって背中を刺され、落命した。 人物 この頃の共和国は軍閥化が進みつつあり、ラヴェリアも自らの口癖でもある「薬になる毒もあれば、毒になる薬もある」という言葉の通り、悪習と知っていながら軍人と評議委員を兼任、戦場では戦果を、評議委員としては財政案を次々と打ち当ててその人望は共和国随一となった。 関連項目 The End of ELEGY ガルデス共和国 ラヴェリア事件
https://w.atwiki.jp/bdtrade/pages/4.html
貿易の売上について 利益=原価×(売り相場×距離ボーナス×交渉ボーナス×価格保証-買い相場) 売り相場 100~130%を周期的に推移している他,売りが入るたびに少しずつ減少する. 同チャンネルの他ユーザと相場を共有するため,売りの多い貿易品は相場が100%を割ることもある. 謎の商団が出現した拠点では,相場が一気に200%まで上がる.こちらも,ユーザの売却により下がっていく. 例外として,皇室貿易については常に250%,接続されていない拠点は常に30%である. 買い相場 70~100%を周期的に推移する.売りと違って,購入数に制限があり,購入による相場の変動はない. 距離ボーナス 売り買いする貿易管理NPCの直線距離に応じて売却価格にボーナスがかかる. 実際の走行距離や時間とは関係がないため,回り道をすると損をする. 交渉ボーナス 行動力を支払って天秤操作.成功すると,貿易レベルに応じて売却価格にボーナスがかかる. 売却額が高いほど交渉ボーナスの効果も大きい. 価格保証 NPCから購入した貿易品、釣った魚などは時間経過で価格が落ちる。価格保証期間を過ぎると売却不可になる。 価格保証期間は24時間または12時間とあるが、100%を保証してくれるのはリアル数時間な模様。 価格保証期間24時間のものは、残り13時間22分で74%、6時間で33%に落ちていた。 オフライン中も価格保証期間は経過するため。貿易中にログアウトしたり、長時間離席することは避けたい。 効率の良いルート選択 皇室貿易>商団>普通の貿易 利益に最も影響するのは原価,次に売り相場. こまめに売却すると交渉ボーナスが得られないので,そこそこの距離を走ってまとめて売るのが良い. 距離の近い拠点であれば,高額品を130%で売れる拠点を選んだほうが良い. 同原価であれば,皇室貿易は5~6倍の利益を出す. ただし,オルビア→アルティノのように,距離は長いが原価が安いものの場合,時間利益が下がるので注意. 長時間放置する場合は距離の長い方がお得だが,アクティブなときは,距離よりも原価を考えたほうが時間利益は良くなる. まとめると,皇室貿易をベースとし,皇室貿易の帰りに高額品を買い,200%があればそちらへ運び,なければ次の皇室貿易の買い拠点付近で最も売り相場の良い拠点へ運ぶ.これの繰り返しである.
https://w.atwiki.jp/ko3141592/pages/345.html
タグ *分光連星 *肉眼で見える星 *連星系 * 名称 カシオペヤ座ミュー星 カシオペヤ座30番星 グリーゼ53 mu Cassiopeiae mu Cas 30 Cassiopeiae 30 Cas HIP 5336 HD 6582 HR 321 Gliese 53 Gl 53 GJ 53 LHS 8 NSV 405 位置 星座 (con): 01:カシオペヤ座 座標 (cor): 01:01h 08m 16.3942s, +54d 55m 13.221s (J2000, SIMBAD ICRS) 02:01h 04m 55.70s, +54d 40m 33.0s (B1950, SIMBAD FK4) 固有運動 (pm): 01:3421.90 masy/yr, -1600.35 mas/yr (SIMBAD) 視線速度 (rv): 01:-97.2±0.9 km/s (SIMBAD) 02:-98.1 km/s (Cat-GJ 1991, *A) 年周視差 (plx): 01:132.42±0.60 mas (SIMBAD) 02:134.5±2.9 mas (Cat-GJ 1991, *A) 03:127±3 mas (Johnson Wright 1983) 距離 (dis): 01:7.55±0.03 pc (C plx01, SIMBAD) 02:24.63±0.11 ly (C plx01, SIMBAD) 連星 連星系: 01:*カシオペヤ座ミュー星AB 構成天体: 01:*カシオペヤ座ミュー星A 02:*カシオペヤ座ミュー星B 距離 (odis): 軌道長半径 (osma): 01:1.009±0.016 s (Drummond et al. 1995) 02:7.62±0.16 AU (C osma01+plx Cat-HIP 1997) 公転周期 (op): 02:22.98 yr (Cat-SB9 2004-2009 1977) 03:21.43 yr (Cat-SB9 2004-2009 1991) 01:21.753±0.069 yr (Drummond et al. 1995) 軌道離心率 (oec): 02:0.3 (Cat-SB9 2004-2009 1977) 03:0.61 (Cat-SB9 2004-2009 1991) 01:0.561±0.017 (Drummond et al. 1995) 軌道傾斜角 (oin): 01:106.8±0.9 deg (Drummond et al. 1995) 測光 スペクトル型 (sp): 01:G5Vb (SIMBAD) 02:G5VI (Cat-GJ 1991, *A) 03:G5Vp (Cat-NSV 2004) 04:G5VI (Johnson Wright 1983) 見かけの等級V (v): 01:5.12 (SIMBAD) 02:5.17 (Cat-GJ 1991, *A) 03:5.21-5.15 (Cat-NSV 2004) 見かけの等級B (b): 01:5.82 (SIMBAD) 02:5.86 (C v02+bv02, Cat-GJ 1991, *A) 色指数B-V (bv): 01:0.76 (C v01+b01, SIMBAD) 02:0.69 (Cat-GJ 1991, *A) 変光星型 (vrt): Suspected (Cat-NSV 2004) 変光範囲 (vrr): 5.21-5.15 (Cat-NSV 2004) 変光幅 (vra): 変光周期 (vrp): 物理的性質 絶対等級V (abs): 01:5.73 (C plx01+v01, SIMBAD) 02:5.81 (Cat-GJ 1991, *A) 03:5.64 (Johnson Wright 1983) 全波長の光度 (lum): 可視光での明るさ (br): 質量 (mas): 半径 (rad): 01:0.76 Rsol (Johnson Wright 1983, *AB) 温度 (tmp): 01:5420 K (Johnson Wright 1983, *AB) 重力 (grv): 重元素比 (met): 自転速度 (rtv): 自転周期 (rtp): 彩層の活動 (cha): 年齢 (age): 追加情報 E101:空間速度UVW:-41 km/s, -156 km/s, -34 km/s (Cat-GJ 1991) E102:空間速度UVW:-43 km/s, -158 km/s, -35 km/s (Fuchs Jaheriss 1997) E202:色指数U-B:0.09 (Cat-GJ 1991, *A) E203:色指数R-I:0.28 (Cat-GJ 1991, *A) 注釈 *A) 恒星Aの値。 *AB) 恒星ABを分離せずに求められた値。
https://w.atwiki.jp/lostroundcraftworks/pages/15.html
惑星モーニングスターとはロスト・ラウンドにおける舞台となる惑星。上はメルカトル図法における地図。上が北を指す。 データ 名称 モーニングスター 直径 22,076km 表面積 1,530,300,000km² 分類 地球型惑星 概要 ティージョナル星系第四惑星。恒星ティージョナルは太陽に非常に類以した恒星です。モーニングスターは表面積が地球の3倍あり、地図上で小さく見える島もかなりのサイズがあったりします。酸素濃度などほとんどの環境は地球に酷似しています。ただし、前述したとおりこの世界には魔法があるため局地的に気候が変動したりします。 この星は界央暦1900年頃の時点で誕生して約41億年です。その長い歴史は今だベールに包まれており古代文明があったとも一部では言われています。 この星の公転周期や自転周期は限りなく地球に酷似しています。また、8つの衛星を持っています。 気候 モーニングスターの気候は上記の地図に基づいています。これらは惑星としての気候なため、人的要因による特異かつ断片的な気候などは記載していません。 色 気候名 熱帯 温帯 亜寒帯 寒帯 乾燥帯(基本的に砂漠) 草原等 ※緑の線は山脈 スーパーストーム モーニングスターには特筆すべき気候が存在します。それがスーパーストームです。スーパーストームは極圏及び世界を丁度隔てるように存在する巨大な嵐が何個も連なったものです。上記地図上の赤い丸がスーパーストームです。隔てられた世界をそれぞれ表世界と裏世界と呼びます。極圏並びに赤道付近では特に強力です。スーパーストームは海抜400~890m以上上空を吹いており、風向きや風の強さはデタラメな強さでです。隣り合うスーパーストームの間は互いの強風がある程度打ち消されるため近代レベルの空中戦艦であればうまくいけば通り抜けられますが、その生還率は40%ほどです。スーパーストーム内部がどうなっているのかを見た公式的に確認されている者は2050年頃の時点では誰もいません。スーパーストームが吹いている原因は2050年頃の時点では不明です。 スーパーストームの吹いている地域の海洋は極めて危険です。海上はとても荒れており、海中には巨大海洋生物やマーマンと呼ばれる人型の狂暴で知性がない生物が棲息しています。海流などもデタラメであり海図は全く役に立ちません。現実世界の2020年レベルのあらゆるすべての艦種は航行不能です。 モーニングスター関連リンク ヴォートジャーレー地方
https://w.atwiki.jp/chem-ota/pages/38.html
化学屋の便覧 ちょっとあると便利な基礎情報と素朴な疑問を書いてみた。 品質管理上のデータ解析 ○検定の種類(t分布など) ○サンプリングの種類 ○管理図の種類(シューハート管理図) ○工程管理指数 ○確率分布の種類 ○実験計画法 ○品質機能展開 ○最小二乗法の基本 ~寄与率、相関係数 ○QC7つ道具(新旧) その他雑学 ○よく使う?物理定数 ○一つじゃないのよプラスティック ○周期表の覚え方 ○みんな蛍の光 ○乾電池白書 ○デジタルパーマ白書 ○Alcoholについて みちしるべ〜 組織論 トップページに戻る
https://w.atwiki.jp/novel4th/pages/20.html
各種イベントのギミックを紹介しています サバイバルハント登場する敵についてゾンビ TNTゾンビ バナーマン 攻城スケルトン 隊長 ヒーラー 雷スケルトン キーパー ヴァンパイア ハードガンナー ゾンビ投下気球 カースK 切り塩 [部分編集] サバイバルハント 登場する敵について サバイバルハントで登場する敵は基本的に集団で行動しているバフを与えてくる敵や遠距離から攻撃してくる敵.敵を回復させる敵なども登場するため倒す順番なども重要になる 敵紹介に名前が赤太文字で書いてある的は要注意モンスター ゾンビ 名前/ゾンビ HP/5 ドロップ/金塊*1(確定)他通常ドロップ 参考 wave0から出現する最弱の敵 特に脅威でもないが金塊を必ず一つ落とす 後半waveでは大量に来る TNTゾンビ 名前/TNTゾンビ HP/1 ドロップ/通常ドロップ 参考 wave2から出現 その場に残留するTNTを残しながら歩いてくる厄介な敵 TNTは近づくと即爆発しウィザー1を2分間ばらまく凶悪性能だが時間経過で消える 本体が紙耐久なのでさっさと殴り倒すのが吉 バナーマン 要注意モンスター 名前/バナーマン HP/60 ドロップ/金塊*5 他通常ドロップ 使用スキル 士気上げ...周囲のモブに攻撃力上昇3を10秒付与 参考 4waveから出現 旗を掲げ敵軍の士気を上げるアシスト役 周囲のモブに攻撃力上昇3を付与するためかなり危ない 雑魚部隊も相当な強化を受けるため真っ先に葬りたいが普通に硬いのでどうしても場に残りがち。 序盤からの登場のくせに終盤でも大暴れしている 攻城スケルトン 名前/攻城スケルトン HP/1 ドロップ/金塊*2 他通常ドロップ 参考 5waveから出現 執筆する所のないくらいの雑魚 後々大量に出現するがフレンドリーファイアで即死しているためいつの間にか勝手に死んでいる 金塊を大目に落とす 隊長 要注意モンスター 名前/隊長 HP/60 ドロップ/金塊*20 他通常ドロップ 使用スキル 突撃...周囲のモブに移動速度上昇3.耐性2.跳躍力上昇1を10秒付与 参考 10waveから出現(Boss) 敵陣の指揮を取り真向から突撃する特攻隊長 周囲のモブに移動速度3.耐性2.跳躍1を付与して大勢で突っ込んでくる 周囲の雑魚がやけに害悪な動きをしてくる時は大体コイツのバフ 一応Bossなのだが10wave以降から普通に登場し、難易度を上げる原因となっている ヒーラー 名前/ヒーラー HP/30 ドロップ/通常ドロップ 使用スキル ヒーリング...周囲のモブに再生能力4を1秒付与 参考 11waveから出現 一見ただのウィッチだが実は近くのモブに高レベルなリジェネをばらまきHPを半端ない勢いで回復させている ヒーラー本人は回復できないがバニラの仕様上ポーションで回復している HPは控えめなので優先的に倒したい 雷スケルトン 名前/雷スケルトン HP/1 ドロップ/通常ドロップ 使用スキル 避雷針...自身に雷を落とす 参考 13waveから出現 召喚後一定時間無敵であり自身に雷を落としながらプレイヤーを追いかける 沸く場所が城外のため一種の初見殺しだがほっとくと無敵が切れて自身の雷に打たれて死ぬ キーパー 名前/キーパー HP/110 ドロップ/金塊*32 他通常ドロップ 参考 17waveから出現 金塊を大目に落とす硬いだけの敵 周囲のモブに耐性を...なんてことはない ヴァンパイア 名前/vampire HP/100 ドロップ/無し 使用スキル 吸血...プレイヤーにスリップダメージを与え自信を癒す テレポート...一定周期でプレイヤーにテレポートする 参考 20waveから出現(Boss) 見た目はただの村人だが近寄ると強烈なウィザーを付与し自身が回復する(吸血) TPを多用しながらバフでプレイヤーをじりじりと追い詰める面倒くさい系であり長期戦を余儀なくされる 基本弓で攻撃するのがいいのだがごり押しする際は結構な攻撃力が必要 実は18waveで敵陣で存在がささやかれており19waveで透明コウモリが放たれる。 透明コウモリを全て撃ち落とすとヴァンパイアは出現せずwave20をスキップできる ハードガンナー 要注意モンスター 名前/ハードガンナー HP/30 ドロップ/通常ドロップ 使用スキル 狙撃...最寄りのプレイヤーを爆撃する。遠すぎると爆撃できない 参考 21waveから出現 一定周期で近くのプレイヤーを炸裂弾で狙撃するという敵の初の銃持ちモブ タイミングがつかみにくい上狙撃をよけるのはほぼ不可能であり威力は防具無しだと即死 索敵範囲は広いがある程度離れると狙撃されなくなるので射程外から弓で攻撃するのが安全 ゾンビ投下気球 名前/ゾンビ投下気球 HP/30 30(騎乗モブ) ドロップ/無し 使用スキル 投下...強化ゾンビを投下する 参考 25waveで追加される支援モブ ガストだが一切攻撃を行わず「ナビゲーター」というマグマキューブに乗っかってプレイヤーの真上にくるように移動する 一定周期で強化ゾンビを投下するので早めに倒したい カースK 要注意モンスター 名前/カースK HP/200 ドロップ/カースソード 仕様スキル スプラッシュカース...周囲の眷属vexを爆破した後眷属のvexを2体召喚する ライフリンクヒール...自信を回復した後スプラXPを召喚する クリア―オブカース...プレイヤーに盲目4,暗視4を1秒付与した後,ウィザー1を5秒付与する シャフトクリッカー...自身に移動速度上昇3を3秒付与した後スプラXPを召喚する デス・オブ・カーススプレッド...カースKの奥義にして最強の技。大量のエフェクト矢を上空に打ち上げ矢の刺さった位置に残留を置きプレイヤーに大ダメージを与えた後眷属たちを強化する ミリオンズ召喚...周囲にゾンビの眷属を大量召喚 スケルトン召喚...周囲にスケルトンの眷属を大量召喚 スプラッシュ...周囲にダメージポーションを大量召喚 ゾンビ増援率100% 常に子供ゾンビを召喚 参考 汚染されたスポナーが意思を持ち剣と盾で武装した凶悪モブ...を参考にして作られた凶悪モブ 名前は製作者の頭文字をとっている 27waveに突如として出現する 自身がスポナーを担っており使用してくるほぼすべてのスキルが危険であり時折召喚されるスプラXPは経験値の仕様上プレイヤーにすり寄ってきて負傷をぶつけてくるため厄介 1対1では到底勝ち目はなくチームプレーによる討伐テクが要求される ちなみにこのモブのコマンド文字列数は1万7000超.歩くデータである 切り塩 要注意モンスター 画像は非公開 名前/kirisiokun HP/400 ドロップ/サバイバルハント制覇者の証 参考 (今の所)35waveに出現する 35wave以降のwaveは存在しないため製作者様が実質的なラスボスとなっている(MOBなのでちゃんと倒せる) 取り巻きは出て来ないが一定周期でプレイヤーに悪口を言ったり(ウィザー4を3秒)モンスターエナジーを飲んだり(回復)今までの攻城戦モブの軍隊を出現させたりするなど普通に凶悪 ラスボスなので後のことは考えず消費アイテムのアイアンゴーレムや地雷.空爆支援部隊などを大量に購入して一気に畳みかけると楽になる
https://w.atwiki.jp/ssanb1/pages/5.html
今日は脱毛のカウンセリングに行ってきました。 脱毛は前からしようと決めていたのですが、まずはカウンセリングで色々と話を聞いてからと思いました。 私は脱毛が初めてなのでわからないことが多いのですが、お店のスタッフさんが丁寧に話してくださったので分かりやすかったです。 毛の周期とかあるみたいですね。でも、2ヶ月とそれくらいなので頻繁に通わなくてよさそうです。 このくらいのペースだと予定も組みやすいのでちょうどいいです。脱毛箇所は一応全身希望なのでその場で契約してきました。 →銀座カラー 岐阜市
https://w.atwiki.jp/kumikomi-yitjc/pages/167.html
これまで見てきたとおり、PWMの信号(パルス)を、IOポートをソフトウエアで制御することで作成することができた。 でも、これって面倒じゃないか? PWMの出力をソフトでやろうとすると、他の処理に手が回らなくもなる。 こういった処理は専用のハードウエアにやらせたほうが効率的である... ということでAVRマイコンにはタイマ機能の一部として、PWMの生成機能が実装されている。(タイマ機能の全体については、こちら) AVR マイコンのPWMには、高速PWMモードと位相基準PWMモードがある。ここでは、タイマ0を用いた高速PWMモード(8bitタイマ)について説明す る。(タイマ1、3は16bitタイマ。タイマ4は10bit。これらや、位相基準PWMモードなどのその他のモードについては、別に説明する。) 高速PWMモードは、更に2つのモードに分かれている。どちらのモードを使うかはTCCR0Bの第3ビットで選択する。 モード3 OC0AとOC0Bの2チャンネルを出力。いずれも同一のTCNT(TCNT0)を参照 PWMの周期はプリスケーラのみで決定 (システムクロックの1/1、1/8、1/64、1/256、1/1024が設定可能) 比較・一致の値を保管するレジスタ(OCR0A、OCR0B)はデューティを設定 モード7 OC0Bの1チャンネル出力 OC0AはTCNTの上限値(PWMの周期)、OC0Bはデューティを設定 PWMの周期はプリスケーラとOCR0Aで設定 (システムクロックの1/1、1/8、1/64、1/256、1/1024とTCNTの上限値が設定可能) PWMの設定にはTCNT、OCR0A、OCR0B、TCCR0A、TCCR0B、TIMSK0(割り込みマスクレジスタ)、TIFR0(割り込みフラグレジスタ)のレジスタが関係する。また、TCNTは8bitの勝手に動作するカウンタで、システムクロック(16MHzもしくは1MHz)をプリスケーラで分周(周波数を何分の一かにすること)しカウントする。 OCR0A、OCR0Bレジスタも8bitのレジスタで、TCNTと値が一致したとき(比較・一致)に、PWM信号が切り替わる。(OCR0AとTCNTが一致した時はOC0A、OCR0BとTCNTが一致した時はOC0B) 各レジスタの役割を整理すると以下のとおり。 レジスタ名 機 能 TCNT0 システムクロックをプリスケーラで分周した信号で自走するカウンタ TCCR0A タイマ0の設定を行うレジスタ。 タイマモード、比較・一致発生時の出力 TCCR0B タイマ0の設定を行うレジスタ。 タイマモード、プリスケーラの分周比 OCR0A TCNT0との比較・一致を行う際に値を保管するレジスタ。 OC0A出力時のデューティ可変(モード3)、TCNT0の上限値(モード7) OCR0B TCNT0との比較・一致を行う際に値を保管するレジスタ。 OC0B出力時のデューティ可変(モード3、7) TIMSK0 割り込みマスクレジスタ。比較・一致、TCNT0のオーバフローによる割り込み ハンドラの呼び出しを許可・禁止する。 TIFR0 割り込みフラグレジスタ。割り込みイベントの発生を記録する。 具体的な動作について、以下に説明する。 モード3では、 TCNTはプリスケーラで分周されたシステムクロック(1MHzか16MHz)をカウントする。(つまりシステムクロックの信号が1/0を繰り返すたびに+1する)TCNTの値は255になると0に戻る。 OCR0A、OCR0Bに設定された値と、TCNTの値を比較し、これが一致したとき(これをコンペア・マッチと呼ぶこともある)にPWM出力を変化させる。(変化のさせ方は、下表、「値の一致での動作」を参照)OCR0A、OCR0Bのいずれも、デューティを決める。 TCNTの値が0に戻るときに、PWM出力を変化させる。 (a)下表(値の一致での動作)で「値の一致で0」に設定されている場合は、TCNT=255でPWM=1 (OC0AとOC0B) (b)下表(値の一致での動作)で「値の一致で1」に設定されている場合は、TCNT=255でPWM=0 (OC0AとOC0B) ※上の図の例は、(a)の「値の一致で0」に設定した場合の動作。(b)に設定した場合は、信号が反転する。 モード7では、 TCNTはプリスケーラで分周されたシステムクロック(1MHzか16MHz)をカウントする。(つまりシステムクロックの信号が1/0を繰り返すたびに+1する)TCNTの値はOCR0Aと同じ値になると0に戻る。 OCR0A、OCR0Bに設定された値と、TCNTの値を比較し、これが一致したときにPWM出力を変化させる。(変化のさせ方は、下表、「値の一致での動作(TCCR0A)」を参照)OCR0Aは周期、OCR0Bはデューティを決める。 TCNTの値が0に戻るときに、PWM出力を変化させる。 (a)下表(値の一致での動作)で「値の一致で0」に設定されている場合は、TCNT=OCR0AでPWM=1 (OC0Bのみ) (b)下表(値の一致での動作)で「値の一致で1」に設定されている場合は、TCNT=OCR0AでPWM=0 (OC0Bのみ) ※上の図の例は、(a)の「値の一致で0」に設定した場合の動作。(b)に設定した場合は、信号が反転する。 のように動作する。 TCCR0Aの各設定ビットの詳細は、以下のとおり。 まず、タイマの動作を、高速PWMモードに設定する。このためには、TCCR0AとTCCR0BのWGM0x(xは0~3)ビットを下表(タイマモードの設定)の様に設定する。表:タイマモードの設定(TCCR0A、TCCR0B) 動作モード レジスタ:bitの位置 (bitの名前) TCCR0B 3 (WGM02) TCCR0A 1 (WGM01) TCCR0A 0(WGM00) TOP (TCNTが0に戻る時の上限値) TOV 割り込み モード0 (標準) 0 0 0 0xFF 0xFF モード1 (位相基準PWM) 0 0 1 0xFF 0 モード2 (CTC) 0 1 0 OCR0Aの値 0xFF モード3 (高速PWM) 0 1 1 0xFF 0xFF モード4 (予約) 1 0 0 - モード5 (位相基準PWM) 1 0 1 OCR0Aの値 0 モード6 (予約) 1 1 0 - モード7 (高速PWM) 1 1 1 OCR0Aの値 0xFF ここで、WGM02ビットを0に設定した場合は、TCNTの上限値は255、WGM02を1に設定した場合はTCNTの上限値はOCR0Aと同じ値になる。PWMの周期を様々に変えたい場合は、このモード(モード7)を使うと便利である。 また、WGM02を0とすると、OC0AとOC0Bの2本のPWM信号を出力可能だが、WGM02を1とすると、OC0Bのみとなる。表:値の一致での動作(TCCR0A) TCCR0Aのbitの位置 (ビットの名前) 7 (COM0A1) 6 (COM0A0) 5 (COM0B1) 4 (COM0B0) PWM出力 (OC0Aに出力) PWM出力 (OC0Bに出力) 波形出力なし 0 0 0 0 TCNTとOCR0A・OCR0Bとの値の一致でPWM出力切替 0 1 0 1 TCNTとOCR0A・OCR0Bとの値の一致でPWM出力0 1 0 1 0 TCNTとOCR0A・OCR0Bとの値の一致でPWM出力1 1 1 1 1 ※モード3の動作表:プリスケーラの設定(TCCR0B) TCCR0Bのbitの位置 (ビットの名前) 2 (CS02) 1 (CS01) 0 (CS00) タイマ停止 0 0 0 1/1 0 0 1 1/8 0 1 0 1/64 0 1 1 1/256 1 0 0 1/1024 1 0 1 外部クロック(T0ピンの立下り) 1 1 0 外部クロック(T0ピンの立上がり) 1 1 1 プリスケーラは、TCNTのカウント入力の周波数を決める。システムクロック(16MHz、変更可能)を何分の一(分周)かにして、TCNTに供給する。 例えば、CS02 CS01 CS00を1 0 0と設定したとすると、システムクロックは1/256に分周される事になる。従って、TCNTは、 16000000 / 256 = 62500 Hz でカウントされることになる。(つまり一秒間に62500回、カウントアップされる) この状態で、WGM02 WGM01 WGM00を0 1 1としたとすると、PWMの1周期は、 62500 / 255 = 245.098Hz となる。 また、WGM02 WGM01 WGM00を1 1 1として、OCR0Aを100とすると、 62500 / 100 = 625Hz となる。サンプルプログラム1 (モード3:OC0AとOC0Bの2チャンネル出力) /* * タイマ0ハードウエアによるPWM出力サンプル * PWMの出力は、モード3の場合 * OC0A ~ 基板の29ピン (PB7と共用) * OC0B ~ 基板の4ピン (PD0と共用) * * PWMの出力は、モード7の場合 * OC0B ~ 基板の4ピン (PD0と共用) */ ... 略 .... void hw_init() { // PWM DDRD |= 0b00000001; //PD0を出力に(OC0B) DDRB |= 0b10000000; //PB7を出力に(OC0A) TCCR0A |= _BV(WGM01) | _BV(WGM00); // タイマ・カウンタ・コントロールレジスタ モード3(高速PWMモード) TCCR0A |= _BV(COM0A1); // TCNT==OCR0Aで、OC0Aが0(GND)、TCNT=255でOC0Aが1(+5V) // _BV(a)は、aで指定した桁のbitが1の8bit幅の定数を返す。例えば、 // a=3のとき、_BV(a) の値は 0b00001000である。 TCCR0A |= _BV(COM0B1); // TCNT==OCR0Bで、OC0Bをlow(=0)、TCNT=255でOC0Bをhi(=1) TCCR0B |= _BV(CS01); // 周波数設定(PWMの一周期) (TCNT 8bit) // システムクロックが16MHzでTCNTがリセットされる値が255(上限値)であるため、 // 16000000 / 分周比 / 256がPWMの一周期となる。 // (分周比が1/8なら2000000Hz→0.5マイクロ秒) } int main() { CLKPR = 0x80; CLKPR = 0; // 16MHz動作のための設定① hw_init(); // 周期は、16000000(Hz) / 8(CS01) / 256(TCNT) = 7812.5 Hz固定 OCR0A = 200; // OC0A(29ピン~PB7)にduty = 200/256で出力 OCR0B = 100; // OC0B(4ピン~PD0)にduty = 100/256で出力 while(1) { } } サンプルプログラム2 (モード7:OC0A=周期、OC0B=デューティ、OC0Bの1チャンネル出力) /* * タイマ0ハードウエアによるPWM出力サンプル * PWMの出力は、モード7の場合 * OC0B ~ 基板の4ピン (PD0と共用) * */ ... 略 .... void hw_init() { // PWM DDRD |= 0b00000001; //PD0を出力に(OC0B) DDRB |= 0b10000000; //PB7を出力に(OC0A) TCCR0A |= _BV(WGM01) | _BV(WGM00); // タイマ・カウンタ・コントロールレジスタの設定(TCCR0A、TCCR0B) TCCR0B |= (WGM02); // 高速PWMモードのモード7 TCCR0A |= _BV(COM0A1); // TCNT==OCR0Aで、OC0Aが0(GND)、TCNT=OCR0AでOC0Aが1(+5V) // _BV(a)は、aで指定した桁のbitが1の8bit幅の定数を返す。例えば、 // a=3のとき、_BV(a) の値は 0b00001000である。 TCCR0A |= _BV(COM0B1); // TCNT==OCR0Bで、OC0Bをlow(=0)、TCNT=255でOC0Bをhi(=1) TCCR0B |= _BV(CS01); // 周波数設定(PWMの一周期) (TCNT 8bit) // システムクロックが16MHzでTCNTがリセットされる値が255(上限値)であるため、 // 16000000 / 分周比 / 256がPWMの一周期となる。 // (分周比が1/8なら2000000Hz→0.5マイクロ秒) } int main() { CLKPR = 0x80; CLKPR = 0; // 16MHz動作のための設定① hw_init(); OCR0A = 200; // 周期は、16000000(Hz) / 8(CS01) / 200(OCR0A) = 10000 Hz OCR0B = 100; // OC0B(4ピン~PD0)にduty = 100/256で出力 while(1) { } } PWMと割り込み タイマ0の高速PWMでは、TCNTとOCR0A・OCR0Bとの比較・一致が発生した時に、割り込み(イベント)を発生させる事が出来る。 発生可能な割り込みイベントは、以下の3つである。 TCNTとOCR0Aとの比較・一致 TCNTとOCR0Aの値が一致した時に発生する割り込みイベント。この割り込みイベントが発生すると、割り込みフラグOCF0Aが1にセットされ、更に、割り込みマスクビットOCIE0Aが1であれば、割り込みハンドラ(TIMER0_COMPA_vect)が起動される。 TCNTとOCR0Bとの比較・一致 TCNTとOCR0Bの値が一致した時に発生する割り込みイベント。この割り込みイベントが発生すると、割り込みフラグOCF0Bが1にセットされ、更に、割り込みマスクビットOCIE0Bが1であれば、割り込みハンドラ(TIMER0_COMPB_vect)が起動される。 TCNTのオーバフロー TCNTが0xFF(255)から0になる時に発生。この割り込みイベントが発生すると、割り込みフラグTOV0が1にセットされ、更に、割り込みマスクビットTOIE0が1であれば、割り込みハンドラ(TIMER0_OVF_vect)が起動される。 割り込み関連レジスタとビットの配置は、以下の通り。表:割り込みフラグレジスタ(TIFR0) bitの位置 (ビットの名前) 7 (未使用) 6 (未使用) 5 (未使用) 4 (未使用) 3 (未使用) 2 (OCF0B) 1 (OCF0A) 0 (TOV0) 初期値 0 0 0 0 0 0 0 0 表:割り込みマスクレジスタ (TIMSK0) bitの位置 (ビットの名前) 7 (未使用) 6 (未使用) 5 (未使用) 4 (未使用) 3 (未使用) 2 (OCIE0B) 1 (OCIE0A) 0 (TOIE0) 初期値 0 0 0 0 0 0 0 0 サンプルプログラム(TCNTオーバフロー時の割り込みを使う例) /* * タイマ0ハードウエアによるPWM出力及び、TCNTオーバフロー時の割り込み発生サンプル * PWMの出力は、モード3の場合 * OC0A ~ 基板の29ピン (PB7と共用) * OC0B ~ 基板の4ピン (PD0と共用) * * PWMの出力は、モード7の場合 * OC0B ~ 基板の4ピン (PD0と共用) */ .....ISR(TIMER0_OVF_vect) // タイマ0でオーバフローが発生すると呼び出される割り込みハンドラ { static int cnt = 0; cnt++; } void hw_init() { // PWM DDRD |= 0b00000001; //PD0を出力に(OC0B) DDRB |= 0b10000000; //PB7を出力に(OC0A) PORTD = 0b00000001; PORTB = 0b10000000; TCCR0A = 3; // タイマ・カウンタ・コントロールレジスタ モード3(高速PWMモード) // もし、高速PWMモードのモード7を使いたい場合は TCCRB |= _BV(WGM02)が必要 // モード7の設定を行うと、PWM出力はOC0B (4ピン) の1チャンネルのみとなる。 TCCR0A |= _BV(COM0A1); // TCNT==OCR0Aで、OC0Aが0(GND)、TCNT=255でOC0Aが1(+5V) // _BV(a)は、aで指定した桁のbitが1の8bit幅の定数を返す。例えば、 // a=3のとき、_BV(a) の値は 0b00001000である。 TCCR0A |= _BV(COM0B1); // TCNT==OCR0Bで、OC0Bをlow(=0)、TCNT=255でOC0Bをhi(=1) TCCR0B |= _BV(CS01); // 周波数設定(PWMの一周期) (TCNT 8bit) // システムクロックが16MHzでTCNTがリセットされる値が255(上限値)であるため、 // 16000000 / 分周比 / 256がPWMの一周期となる。 // (分周比が1/256なら62500Hz→16マイクロ秒) TIMSK0 |= _BV(TOIE0); // TCNTが最大値を超えた時(0xFFもしくはOCR0Aの値)、割り込み発生 } int main() { CLKPR = 0x80; CLKPR = 0; // 16MHz動作のための設定① hw_init(); OCR0A = 200; // OC0A(29ピン~PB7)にduty = 200/256で出力 OCR0B = 100; // OC0B(4ピン~PD0)にduty = 100/256で出力 sei(); // 全ての割り込みを許可 while(1) { } }