ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
28 апреля
717603 Топик полностью
MBedder, терминатор (05.12.2016 19:47, просмотров: 254) ответил my504 на Разобрался... Затупил и принял бит переключателя Синхро-Триггер за бит Триггер-мод. А он вообще в первом управляющем регистре. Извините за напрасное беспокойство. :)
Так и будет всегда, пока пишешь дурацкие циферки вместо символических имен: Это написано через жопу: OC1init: clr OC1CON1 // нах не нужно clr OC1CON2 // нах не нужно clr OC1TMR // нах не нужно mov # 100, W0 // давно пора заменить на макрос movi mov W0, OC1R // mov # 100, W0 // нах не нужно в Single Compare Single-Shot mode mov W0, OC1RS // mov # 0b0000000010010000, W0 ; trig from IC1 // давно пора заменить на макрос movi mov W0, OC1CON2 // mov # 0b0001110000000001, W0 ; one shot, clk-Tcy // давно пора заменить на макрос movi mov W0, OC1CON1 // clr OC1TMR return А это написано по-людски: //---------------------------------------------------------------------------------------------- .macro movi lit16,file mov #\lit16,w0 mov w0,\file .endm // Set desired pulse duration movi #100,OC1R // Trigger mode, trigered from IC1 movi #(1 << OCTRIG)|(16 << SYNCSEL0),OC1CON2 // Clocked by Fp, Single Compare Single-Shot mode: init OCx pin low, compare forces OCx pin high movi #(7 << OCTSEL0)|(1 << OCM0),OC1CON1 clr OC1TMR return //---------------------------------------------------------------------------------------------- Разница заметна?