Оптимальный старт в программировании МК на С
06.07.2013, 22:20
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от ilyamp
|
|
угу, там чуть ниже тоже: ...
|
Да, структуры тоже могут передаваться в функцию через регистры, а не через стек - это как-то отменяет общее утверждение о возможности передачи через регистры параметров функции?
Сообщение от ilyamp
|
|
а чуть выше: ...
|
И что это меняет?
Сообщение от ilyamp
|
|
я имел в виду затраты времени на передачу параметров, они всегда есть в Си, через стек их передавать или через регистры, предварительно сохраняя их в стеке ...
|
То есть, Вы считаете, что эти регистры сохраняются на стеке всегда, даже когда это не требуется? Вы проверили это утверждение, или так, от широты душевной сказанули?
Сообщение от ilyamp
|
|
Хотите что-нть полезное сказать - расскажите, как ДСП ядро в С30 включить ...
|
Область "полезности" у каждого - своя, если человек пишет такое:
|
Код:
|
DMA0REQ |= (DMA0_AUTOMATIC & DMA_IRQSEL_ADC); |
то " как ДСП ядро в С30 включить" - это пустое.
__________________
There's always more than one way to skin a cat.
|
|
|
|
06.07.2013, 23:19
|
|
|
Прописка
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от tempora
|
|
То есть, Вы считаете, что эти регистры сохраняются на стеке всегда, даже когда это не требуется? Вы проверили это утверждение, или так, от широты душевной сказанули?
|
нет, я думаю, что они сохраняются в стеке только когда в функцию передаются параметры через эти регистры. В указанном Вами разделе всё это подробно объяснено.
Но такты всё равно тратятся
Сообщение от tempora
|
Область "полезности" у каждого - своя, если человек пишет такое:
Код:
DMA0REQ |= (DMA0_AUTOMATIC & DMA_IRQSEL_ADC);
то "как ДСП ядро в С30 включить" - это пустое.
|
может быть хотябы Вы (dosikus не захотел) поясните, чем плоха установка битов при помощи побитовой ИЛИ (при инициализации в этом регистре 0)
кстати в данном вопросе был баг MPLABX версии 1.70, т.к. в 1.80 он не проявлялся.
И всё же - как насчёт DSP?
|
|
|
|
06.07.2013, 23:25
|
|
|
Прописка
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от tempora
|
|
Сообщение от ilyamp
|
|
угу, там чуть ниже тоже: ...
|
Да, структуры тоже могут передаваться в функцию через регистры, а не через стек - это как-то отменяет общее утверждение о возможности передачи через регистры параметров функции?
|
Вы несколько предвзято перевели с английского: там сказано, что если структура влезает в регистры, то передаётся через них, а если нет - то через стек
|
|
|
|
06.07.2013, 23:36
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
__________________
There's always more than one way to skin a cat.
|
|
|
|
06.07.2013, 23:48
|
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от ilyamp
|
|
может быть хотябы Вы (dosikus не захотел) поясните, чем плоха установка битов при помощи побитовой ИЛИ
|
Дык как то влом объяснять очевидные вещи , собственно даже азы. 
Отройте дефайны битов в хэдере и в калькуляторе потренируйтесь. 
Потом можем вместе посмеяться...
Сообщение от ilyamp
|
|
(при инициализации в этом регистре 0)
|
Хоть дело и не в этом, но я не был бы так категоричен...
__________________
Осторожно , злой кот
|
|
|
|
07.07.2013, 00:12
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от ilyamp
|
|
(при инициализации в этом регистре 0)
|
Вы считаете, что после вышепроцитированной строки там что-либо изменится?
(наводящий вопрос)
|
|
|
|
07.07.2013, 00:44
|
|
|
Прописка
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от dosikus
|
Отройте дефайны битов в хэдере и в калькуляторе потренируйтесь.
Потом можем вместе посмеяться...
|
Я прям не знаю, думал может на меня какая туманность нашла, да вроде всё в порядке:
#define DMA_IRQSEL_ADC 0xFF8D
#define DMA0_AUTOMATIC 0x7FFF
DMA0REQ |= (DMA0_AUTOMATIC & DMA_IRQSEL_ADC);
// DMA0_AUTOMATIC & DMA_IRQSEL_ADC = 0x7F8D = 0111 1111 1000 1101b
// DMA0REQ = DMA0REQ | 0x7F8D =› IRQSEL (биты 0-6)= 0x0D, что и имеет место быть
// биты 14-7 не реализованы, туда можно писать чё угодно, я тут никогда не заморачивался…
см DS70182B-page 22-6 © 2008 Microchip Technology Inc
|
|
|
|
07.07.2013, 00:50
|
|
|
Прописка
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от omercury
|
Вы считаете, что после вышепроцитированной строки там что-либо изменится?
(наводящий вопрос)
|
Не то, что б я считаю, Вы не поверите - действительно меняется!!! Вот ведь загадка...
|
|
|
|
07.07.2013, 00:58
|
|
|
Прописка
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от dosikus
|
|
Хоть дело и не в этом, но я не был бы так категоричен...
|
поясните пожалуйста, Вы не верите даташиту, или я какие ерраты не заметил?
ftp://193.170.235.123/Lernbehelfe/PI...ual/22_DMA.pdf
Последний раз редактировалось ilyamp; 07.07.2013 в 01:10.
|
|
|
|
07.07.2013, 01:00
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от ilyamp
|
|
Вы не поверите - действительно меняется!!! Вот ведь загадка...
|
Проектом, исходниками, листингами подтвердить сей чудесный факт можете? Либо Вы неверно поняли вопрос, либо неправильно интерпретируете действительность... Без фактов не разобраться, какой из двух вариантов имеет место быть. Возможен ещё третий вариант, но надеюсь дело не в этом.
__________________
There's always more than one way to skin a cat.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:34.
|
|