Hatena::ブログ(Diary)

滴了庵日録 このページをアンテナに追加 RSSフィード

2018/07/31(Tue)

VC++のランタイムの抱き込み

VC++で作成したソフトを他のPCに持っていくと、ランタイムが無いというエラーが出ることがある。面倒なので、手軽にすましたいならビルド時に静的リンクでランタイムライブラリを実行ファイルに抱き込むとよい。


  1. プロジェクトの[プロパティ]で、[構成]で[Release]を選ぶ
  2. [構成プロパティ]の[C/C++]の[コード生成]を開く
  3. [ランタイムライブラリ]で[マルチスレッド(/MT)]を選ぶ


図


以上で、リリースビルド時はランタイムが実行ファイルに抱き込まれる。

2018/07/22(Sun)

SAIの使い方思い出し

スキャナスキャンした鉛筆画にペン入れする方法メモ。


ペン入れまでの流れ

  • [ファイル]>[キャンバスを開く]で下絵のファイルを開く。
  • [ファイル]>[キャンバスを別名で保存]でSAI形式で保存する。
  • [ペン入れレイヤーの新規作成]でペン入れ用のレイヤーを作成する。

  図

  図


ペン入れした線の調整

  • [制御点] → 曲線の制御点が表示される。
    • [制御点移動] → 制御点の移動/追加ができる。
    • [制御点/カーブ削除] → 制御点/曲線の削除ができる。Altキーを押しながらでの操作でも可。
    • [ストローク移動] → 線を移動する。
    • [ストローク削除] → 線を削除する。
  • [筆圧] → 制御点ごとに筆圧を調整する。
  • [線変更] → ブラシサイズを調整する。
  • [色変更] → 線の色を変更する。
  • [曲線][折線] → 幾何学的な線を描く。

2018/07/17(Tue)

C言語の整数の除算についてメモ

  • C89では、負数の除算の丸め方向は処理系依存
  • C99では、負数の除算の丸め方向はゼロ方向への切り捨て。
    • 負方向への切り下げではないことに注意。
  • 符号つき整数のシフト演算(<<, >>)が算術シフトとなるか論理シフトとなるかは処理系依存。
    • gccでもVC++でも、符号つきなら算術シフト、符号なしなら論理シフト。
  • 「nビットの算術シフト」と「2のn乗での除算」は等価ではない。
    • 前者は負方向への切り下げ、後者は(C99では)ゼロ方向への切り捨てとなる。

2018/06/27(Wed)

STM32のリセットフラグ

ウォッチドッグによってリセットしたことは下記のコードでチェックできる。

// ウォッチドッグによってリセットしたか?
if(READ_BIT(RCC->CSR, RCC_CSR_IWDGRSTF))
{
    // フラグのクリア
    CLEAR_BIT(RCC->CSR, RCC_CSR_IWDGRSTF);
}

同様に下記のようなフラグがある。

RCC_CSR_BORRSTF ブラウンアウトリセットフラグ
RCC_CSR_PINRSTF ピンリセットフラグ
RCC_CSR_PORRSTF パワーオン/パワーダウンリセットフラグ
RCC_CSR_SFTRSTF ソフトウェアリセットフラグ
RCC_CSR_IWDGRSTF独立型ウォッチドッグリセットフラグ
RCC_CSR_WWDGRSTFウィンドウ型ウォッチドッグリセットフラグ
RCC_CSR_LPWRRSTF低電力リセットフラグ

2018/04/12(Thu)

Arduino UNO のタイマ資源

毎度気になるArduino系やmbedマイコンボードでのタイマ資源の問題。

Arduino UNOでは、下記のようになっているらしい。競合に要注意。

Timer08bitdelay(), millis(), micros()などの時間管理
5,6番ピンのPWM
Timer116bitServoライブラリ
Timer1ライブラリ
9,10番ピンのPWM
Timer28bittone()
MsTimer2ライブラリ
3,11番ピンのPWM


関連項目

参考URL