ブラシレスモータの制御に関する諸々
環境 WINDOWS10/Cygwin
1.GCC(Linux上で)でインターバルタイマを実装する。 簡単なTipsである。 基本的に特殊なライブラリは必要ないはず…。 |
(2020/11/30) _20201129_Motor_GeneratePWMSkeltone.c |
2.GCC(Linux上で)でPWMの信号を作る。STEP1 makefile内で
-gオプションを指定 実行ファイルの中に"シンボルテーブル"を保存する指定。 $ gdb
Motor_InitializePWMSkeltone.exe -tui -tuiオプションは TUIモードで起動。 TUIモードを抜けるときはGDBのコマンドで [CTRL]-[X]-[A] とする。 ※ カーソルキーでソースコードをスクロール (gdb) run で実行 [CTRL]-[C] で停止 (gdb) break 行番号 ブレイクポイントの追加 (gdb) clear 行番号 ブレイクポイントの解除 <例> (gdb) break 41 (gdb) run (gdb) print
TimerCount_ZPOUA $1 = 0 (gdb) next (gdb) print
TimerCount_ZPOUA $2 = 2 無事デットタイムの"2"が代入されている (gdb) quit GDBの終了 |
(2020/12/03) _20201130_Motor_InitializePWMSkelton.c |
3.GCC(Linux上で)でPWMの信号を作る。STEP2 $ gdb
Motor_InitializePWMSkeltone.exe -tui (gdb)
break 71 (gdb)
run (gdb)
print LevelOfCompareMatch_Ch1 $1
= 1 (gdb)
next (gdb)
print TimerCount_UpperArm_Ch1_Rise $2
= 3 (gdb)
print TimerCount_UpperArm_Ch1_Fall $3
= 7 (gdb)
print TimerCount_LowerArm_Ch1_Rise $4
= 9 (gdb)
print TimerCount_LowerArm_Ch1_Fall $5
= 1 ------------------------------------------- (gdb)
set LevelOfCompareMatch_Ch1 = 2 (gdb)
next [New
Thread 18812.0x4f9c] (gdb)
print TimerCount_UpperArm_Ch1_Rise $6
= 4 (gdb)
print TimerCount_UpperArm_Ch1_Fall $7
= 6 (gdb)
print TimerCount_LowerArm_Ch1_Rise $8
= 8 (gdb)
print TimerCount_LowerArm_Ch1_Fall $9
= 2 ------------------------------------------- (gdb)
set LevelOfCompareMatch_Ch1 = 3 (gdb)
next [New
Thread 9632.0x1394] (gdb)
print TimerCount_UpperArm_Ch1_Rise $10
= 5 (gdb)
print TimerCount_UpperArm_Ch1_Fall $11
= 5 (gdb)
print TimerCount_LowerArm_Ch1_Rise $12
= 7 (gdb)
print TimerCount_LowerArm_Ch1_Fall $13
= 3 [CTRL]-[C] で停止 |
(2020/12/05) _20201203_Motor_InitializePWMSkeltone.c |
4.STM32をクロスコンパイルするための準備(STM32
Tips) Cygwinで環境を構築する手順 |
(2020/12/29) |
5.PWMを少し触ってみる(STM32 Tips) LEDチカチカを試す。 |
(2020/12/29) |
6.GPIOでの割り込みを試す(STM32
Tips) オンボードのLEDをトグル操作してみる。 |
(2020/12/30) |
7.デバッグ Serial(USARTを有効にする)(STM32 Tips) PCからSTM32の情報を受け取る。 |
(2020/12/30) |
|
|
|
|
|
|