asm+С FOREVA Как из асма в Сишную перемннную записать число?

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

asm+С FOREVA Как из асма в Сишную перемннную записать число?

Сообщение Myp » 29 апр 2007, 23:14

нашарил вот такой код у элмчена
Код: Выделить всё
;----------------------------------------;
; A-D conversion routine

adc:    ldi     ZL, 0     ;Clear counter
       ldi     ZH, 0     ;/
       cbi     DDRB, 0   ;Start to charge
       sbi     PORTB, 0  ;/
       adiw    ZL, 1     ;Wait for Vc reaches Vi
       sbis    ACSR, ACO ;
       rjmp    PC-2      ;/
       cbi     PORTB, 0  ;Discharge capacitor
       sbi     DDRB, 0   ;/
       ret               ;Z = result

как из компаратора сделать АЦП
Изображение
смысл в том что включаем счётчик и начинаем заряжать конденсатор
как только напряжение на конденсаторе AIN0 дойдёт до величины напряжения на AIN1 счёт останавливаем
говорим АЛЕ ОП
и получаем величину напряжения на AIN1

вот собсно сам вопрос:
ну посчитали мы на асме чё надо а как из асма в обычную переменную которая юзается в коде на Си записать число?

придумал только вот так:
описываем глобальную переменную
смотрим куда она там попадает
например в r2
на асме делаем LDI R2,z



ЗЫ
это я так хочу градусник на lm335 сделать =)
эта штука выдаёт 10мв на 1 градус кельвина так что в принципе можно замутить градусник с точностью +- 1 градус
ну или хотябы чтоб показывало ТЕПЛО/ХОЛОДНО
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение avr123.nm.ru » 29 апр 2007, 23:48

Недавно же обсуждали апноут 401 помоему - АЦП на конденсаторе.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: asm+С FOREVA Как из асма в Сишную перемннную записать чи

Сообщение avr123.nm.ru » 29 апр 2007, 23:49

Myp писал(а):а как из асма в обычную переменную которая юзается в коде на Си записать число?


Дак напиши этот кусок на Си. Зачем тебе АСМ вАААще ?
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение Myp » 30 апр 2007, 00:08

avr123.nm.ru писал(а):[off]Недавно же обсуждали апноут 401 помоему - АЦП на конденсаторе.[/off]

[off]мну непомнит, наверно мну не позвали...[/off]
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: asm+С FOREVA Как из асма в Сишную перемннную записать чи

Сообщение Myp » 30 апр 2007, 00:10

avr123.nm.ru писал(а):
Myp писал(а):а как из асма в обычную переменную которая юзается в коде на Си записать число?


Дак напиши этот кусок на Си. Зачем тебе АСМ вАААще ?

ну можно конечно и на си
это непринципиально

но ведь интересно как это делается
:twisted:
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: asm+С FOREVA Как из асма в Сишную перемннную записать чи

Сообщение avr123.nm.ru » 30 апр 2007, 00:27

Myp писал(а):придумал только вот так:
описываем глобальную переменную
смотрим куда она там попадает
например в r2
на асме делаем LDI R2,z


В  хелпе CVAVR и в  FAQ  - avr123.nm.ru/avrfaq.rar  - написано как в Си разместить переменную в нужном регистре.

Ну и соответственно в АСМе можно работать с этим регисторм.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение Myp » 30 апр 2007, 00:33

ага
значит я всёже правильно думал =)
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3