пример привожу. Попытка сделать инверсию пина вообще провалилась, поскольку приходится вводить условие что собираешься делать устанавливать или сбрасывать и от этого зависит в какой регистр идти. Смысл раздельных регситров для сброса и установки мне, пока, не понятен.
Отправлено
mandigit (85.141.196.9) 16 августа 2011, г. 00:46
В ответ на:
Ничего не понял. Приводи код. отправлено
провинцыалекс 16 августа 2011, г. 00:31
Установка бита занимает 5 циклов. Аналогичный блок на AVR займет 1 или 3 цикла.
11 void LedInit(void) {
12 IO0DIR_bit.P0_31 = 1; //set port0.31 to output
\ LedInit:
\ 00000000 8E02A0E3 MOV R0,#-536870904
\ 00000004 A00B80E3 ORR R0,R0,#0x28000
\ 00000008 001090E5 LDR R1,[R0, #+0]
\ 0000000C 801481E3 ORR R1,R1,#0x80000000
\ 00000010 001080E5 STR R1,[R0, #+0]
13 }
\ 00000014 1EFF2FE1 BX LR ;;