Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
13.03.2011, 11:59
|
|
Частый гость
Регистрация: 23.05.2009
Сообщений: 46
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 2 сообщении(ях)
|
Keil С51 - связка asm и С кода
Захотел переписать некоторые свои поделки с asm на С. Как вызывать внешние asm-функции и передавать параметры вроде разобрался. Теперь очередь за прерываниями - код который создает keil мягко говоря не годится. Как описать обработчик прерывания на asm, чтобы он работал в С-программе? ....перекопал все примеры keil - ничего похожего не нашел
|
|
|
|
13.03.2011, 12:12
|
|
Вид на жительство
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
|
Re: Keil С51 - связка asm и С кода
http://www.twirpx.com/file/100949/
стр.71
"Подпрограммы на ассемблере"
|
|
|
|
13.03.2011, 12:14
|
|
Временная регистрация
Регистрация: 20.02.2005
Сообщений: 90
Сказал спасибо: 10
Сказали Спасибо 36 раз(а) в 11 сообщении(ях)
|
Re: Keil С51 - связка asm и С кода
как пример работы можете взять CDC-232 с сайта японческого .
там всё что критично по скорости написано на асм а "рюшечки" на С-ях ))
Я компилировал в ЯРе - нормально фунциклирует
__www.recursion.jp/avrcdc/
ссори - не заметил что у Вас 51 ядро ((
|
|
|
|
13.03.2011, 12:58
|
|
Частый гость
Регистрация: 23.05.2009
Сообщений: 46
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 2 сообщении(ях)
|
Re: Keil С51 - связка asm и С кода
Сообщение от Vov123
|
стр.71
"Подпрограммы на ассемблере"
|
.. вопрос не в том как написать подпрограмму (это я могу), а в том, как ее оформить, чтобы С-код понимал, что внешняя созданная подпрограмма - это обработчик прерывания.
|
|
|
|
13.03.2011, 13:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
|
Re: Keil С51 - связка asm и С кода
Вопрос в том- на нужное мосто определить обработчик? так?(могу ошибаться- давно 51-е не трогал)ORG конечно, не прописать, засунет по своему усмотрению..,
Последний раз редактировалось OlegNZH; 13.03.2011 в 13:05.
|
|
|
|
13.03.2011, 13:03
|
|
Вид на жительство
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
|
Re: Keil С51 - связка asm и С кода
Ну дык,посмотри
|
|
|
|
13.03.2011, 13:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
|
Re: Keil С51 - связка asm и С кода
Енто - мне? посмотреть? где-то валяется кейл ..но не хоца.. а куда втыкает- если просто asm-куда угодно, а вектор- директивы есть? вроде нет ...хотя хрен знает , народ,тоже рассуждал, ни к чему не пришли.... да и 51-е к C-не расположены...так , от бедности... некуда стек валить...да и регистров маловато....АВР-ки к C заточены,(про стек- это я так ,к слову..просто передача параметров в С, если десяток слов...думать нуно..)
Последний раз редактировалось OlegNZH; 13.03.2011 в 13:56.
|
|
|
|
13.03.2011, 13:17
|
|
Вид на жительство
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
|
Re: Keil С51 - связка asm и С кода
Нет,не Вам.Тому кто хочет сделать подпрограммы на asm и вызывать их из C.
|
|
|
|
13.03.2011, 13:38
|
|
Частый гость
Регистрация: 23.05.2009
Сообщений: 46
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 2 сообщении(ях)
|
Re: Keil С51 - связка asm и С кода
Сообщение от Vov123
|
Ну дык,посмотри
|
... вопрос куда?
Сообщение от OlegNZH
|
Вопрос в том- на нужное мосто определить обработчик? так?
|
... где находится обработчик - все равно. Вопрос в том, как С-программа обратится к нему как к прерыванию, ведь в отличии от обычной подпрограммы, явный вызов не производится. Есть предположение, что в С-коде придется писать что-то вроде _at_ с явным указанием адреса процедуры-обработчика....
|
|
|
|
13.03.2011, 13:59
|
|
Почётный гражданин KAZUS.RU
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
|
Re: Keil С51 - связка asm и С кода
а почему? всё равно? аппаратный ,по вектору переход. Нужно хотя-бы джамп поставить на обработчик.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:40.
|
|