Преходя с M8515 на M128 сталкнулся с такой проблемой...: немогу управлять PORTB ..а именно 5 пином.
думаю это связанно с альтернативными функциями порта OC1a, (OCnx). Инициализация почти такая же как и на М8515(на ней все работает). В программе использую таймер1, в режиме "сброс по сравнению" (CTC). В программе устанавливаю пинB5 (для теста) до инициализ. портов и таймера, но он обнуляется после инициализации tccr1b и далее в нуле.?! Привожу кусок кода.
Прошу помочь, может в коде чтото не так, может ссылку где почитать про инициализацию М128 и таймеров.
Код
reset:
clr r16
out MCUCR,r16
sbi portb,5 ;для теста
sbi portb,4
ldi r16,LOW(ramend)
out SPL,r16
ldi r16,high(ramend)
out SPH,r16
ldi r16,high(0xaa)
out ocr1ah,r16
ldi r16,low(0xaa)
out ocr1al,r16
clr r16
out tccr1a,r16
ldi r16,0b00001001
out tccr1b,r16
ldi r16,0b00000000;здесь portb.5 обнуляеться,а portb.4 нет ?!
sts tccr1c,r16
ldi zl,0b00110111
out ddrb,zl
ldi zl,0b11001000
out portb,zl
clr r16
out MCUCR,r16
sbi portb,5 ;для теста
sbi portb,4
ldi r16,LOW(ramend)
out SPL,r16
ldi r16,high(ramend)
out SPH,r16
ldi r16,high(0xaa)
out ocr1ah,r16
ldi r16,low(0xaa)
out ocr1al,r16
clr r16
out tccr1a,r16
ldi r16,0b00001001
out tccr1b,r16
ldi r16,0b00000000;здесь portb.5 обнуляеться,а portb.4 нет ?!
sts tccr1c,r16
ldi zl,0b00110111
out ddrb,zl
ldi zl,0b11001000
out portb,zl