同様に、AVRlibのタイマーのテストを行いました。修正箇所は、
- プロジェクトディレクトリの global.h のCPU動作周波数を8MHzに修正
- プロジェクトディレクトリの Makefile のROM書込みに関する部分を追加変更前は、
########### change this lines according to your project ################## #put the name of the target mcu here (at90s8515, at90s8535, attiny22, atmega603 etc.) # MCU = atmega8515 MCU = atmega163 # MCU = atmega323 # MCU = atmega161 # MCU = atmega128
変更後は、
########### change this lines according to your project ################## #put the name of the target mcu here (at90s8515, at90s8535, attiny22, atmega603 etc.) # MCU = atmega8515 # MCU = atmega163 # MCU = atmega323 # MCU = atmega161 # MCU = atmega128 MCU = atmega88 # FUSE BIT for ATMEGA88/168(default is E=0x01/H=0xDF/L=0x62) EFUSE = 0x01 HFUSE = 0xDF # LHUSE = 0x62 LHUSE = 0xe2 # WRITER parameter WRITER = -c avrispmkII -P usb WRITER_MCU = m88 #directory of AVRLib AVRLIB = /(適切に・・・)/avrlib
- 同じく Makefile のソースファイルに関する部分を変更
変更前は、#put your C sourcefiles here # Here you must list any C source files which are used by your target file. # They will be compiled in the order you list them, so it's probably best # to list $(TRG).c, your top-level target file, last. SRC = $(AVRLIB)/buffer.c $(AVRLIB)/uart.c $(AVRLIB)/rprintf.c $(AVRLIB)/timer.c $(TRG).c
変更後は、
# put your C sourcefiles here # Here you must list any C source files which are used by your target file. # They will be compiled in the order you list them, so it's probably best # to list $(TRG).c, your top-level target file, last. SRC = $(AVRLIB)/buffer.c $(AVRLIB)/uart.c $(AVRLIB)/rprintf.c $(AVRLIB)/timerx8.c $(TRG).c
- 同じく Makefile の依存関係に関する部分を変更
変更前は、timer.o : timer.c timer.h global.h
変更後は、
timer.o : timerx8.c timerx8.h global.h
結局、タイマー周りの修正が要る、ってことですね。
これで一応シリアルの表示上は動いている(ポーズもそれっぽく掛かっている)気がするのですが、PWM出力の方は出ていないようです。
この辺はまた今度にすることにします。