реклама на сайте
подробности

 
 
> PWM выход на пин через таймер на lpc17xx, A вообще возможно?
pitt
сообщение Oct 24 2012, 13:09
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



User manual не дает достаточно информации. Если бы кто-нибудь поместил пример кода как вывести PWM на любой матчинг пин(matching pin) от любого таймера(кроме, естественно, собственно PWM модуля) и, желательно, без прерываний... Просто, генерация пульса.

Спасибо.


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
_Артём_
сообщение Oct 24 2012, 14:34
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(pitt @ Oct 24 2012, 16:09) *
User manual не дает достаточно информации. Если бы кто-нибудь поместил пример кода как вывести PWM на любой матчинг пин(matching pin) от любого таймера(кроме, естественно, собственно PWM модуля) и, желательно, без прерываний... Просто, генерация пульса.

Спасибо.

Примеры идут вместе со средой разработки (LPCXpresso).
Ищите c:\nxp\LPCXpresso_4.3.0_1023\lpcxpresso\Examples\NXP\LPC1000\LPC17xx\NXP_LPCXpresso1769_MCB1700_2011-02-11.zip
Go to the top of the page
 
+Quote Post
pitt
сообщение Oct 24 2012, 18:44
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(_Артём_ @ Oct 24 2012, 10:34) *
Примеры идут вместе со средой разработки (LPCXpresso).
Ищите c:\nxp\LPCXpresso_4.3.0_1023\lpcxpresso\Examples\NXP\LPC1000\LPC17xx\NXP_LPCXpresso1769_MCB1700_2011-02-11.zip

Пожалуйста не предлагайте подобных "ответов". Я изучил их примеры задолго до поста и не нашел ответа.
В приложенном файле(самый близкий пример) все понятно, но, во-первых, не понятно что и как если вооще что-нибудь, происходит с пином, а, во-вторых, похоже, что без прерываний не обойтись...
Прикрепленные файлы
Прикрепленный файл  PWMSig.zip ( 19.98 килобайт ) Кол-во скачиваний: 15
 


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Oct 25 2012, 08:45
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



User Manual даёт ДОСТАТОЧНО информации.

Стандартные таймеры довольно "тупые", без прерываний можно сгенерировать только ШИМ 50%.
Или с любым коэф. заполнения, но с прерыванием в каждом цикле.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
pitt
сообщение Oct 25 2012, 11:12
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(esaulenka @ Oct 25 2012, 04:45) *
User Manual даёт ДОСТАТОЧНО информации.

Стандартные таймеры довольно "тупые", без прерываний можно сгенерировать только ШИМ 50%.
Или с любым коэф. заполнения, но с прерыванием в каждом цикле.

Я не понял как таймер управляет пином. Все остальное действительно в мануале есть. Код пожалуйста.

Сообщение отредактировал pitt - Oct 25 2012, 11:13


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Oct 25 2012, 14:35
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Какой там код...
Собственно, нога MATn.x будет полностью повторять состояние бита EMx регистра TnEMR.
Надо сконфигурировать таймер, чтоб считал, и выставить в TnEMR условие, по которому изменяется EMx.
Этот бит также можно изменять вручную, в прерывании.

50% - просто toggle bit, все остальные значения - в прерывании сбрасываем, автоматом устанавливаем (или наоборот, как удобнее).


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
pitt
сообщение Oct 25 2012, 23:53
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(esaulenka @ Oct 25 2012, 10:35) *
Какой там код...
Собственно, нога MATn.x будет полностью повторять состояние бита EMx регистра TnEMR.
Надо сконфигурировать таймер, чтоб считал, и выставить в TnEMR условие, по которому изменяется EMx.
Этот бит также можно изменять вручную, в прерывании.

50% - просто toggle bit, все остальные значения - в прерывании сбрасываем, автоматом устанавливаем (или наоборот, как удобнее).

Все верно, сам разобрался. Кроме 50% ни хрена без прерываний не выйдет. "ну и гадость эта ваша заливная рыба...". Это я про NXP...Все у них через A-hole.

Сообщение отредактировал pitt - Oct 25 2012, 23:53


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
RabidRabbit
сообщение Oct 26 2012, 05:58
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 3-12-09
Из: Россия, Москва
Пользователь №: 54 040



Если так хочется через ж, воспользуйтесь, к примеру, ЦАПом wink.gif А вообще, парочка выходов PWM делит ноги с выходами от таймера, так что вывести PWM на matching pin проблемы, вроде, не составляет...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 15:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.0143 секунд с 7
ELECTRONIX ©2004-2016