В ассемблере я новичок. Возник вопрос по поводу использования переменных на ассемблере. У меня подключены несколько датчиков DS18b20, один на ноге PB2, другой на ноге PB3. Нужно считать сначала с одной ноги, потом со второй.
Есть макрос считывания температуры, GET_TEMP, где переменная @0 это нога.
то есть GET_TEMP PB3 - считать температуру с PB3.
Внутри макроса:
....
.set pin=@0 ; пытаюсь установить значение переменной пин на текущее значение переданное в макрос, чтобы потом ; использовать в процедуре
rcall TEMP_PROC - само измерение, где производятся операции с текущей ножкой вроде sbi PORTC,pin
....
Дело в том что значение pin не меняется, а остается то, которое последний раз упоминалось в коде. То есть если код
.......
GET_TEMP PB3
GET_TEMP PB2
.......
То считывается оба раза с PB2.
Подскажите пожалуйста как улучшить алгоритм, чтобы не писать две разные процедуры под каждую ногу.
Заранее благодарен


