|
PWM выход на пин через таймер на lpc17xx, A вообще возможно? |
|
|
|
 |
Ответов
(1 - 7)
|
Oct 24 2012, 18:44
|
Местный
  
Группа: Участник
Сообщений: 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
--------------------
|
|
|
|
|
Oct 25 2012, 11:12
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(esaulenka @ Oct 25 2012, 04:45)  User Manual даёт ДОСТАТОЧНО информации.
Стандартные таймеры довольно "тупые", без прерываний можно сгенерировать только ШИМ 50%. Или с любым коэф. заполнения, но с прерыванием в каждом цикле. Я не понял как таймер управляет пином. Все остальное действительно в мануале есть. Код пожалуйста.
Сообщение отредактировал pitt - Oct 25 2012, 11:13
--------------------
|
|
|
|
|
Oct 25 2012, 14:35
|

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

|
Какой там код... Собственно, нога MATn.x будет полностью повторять состояние бита EMx регистра TnEMR. Надо сконфигурировать таймер, чтоб считал, и выставить в TnEMR условие, по которому изменяется EMx. Этот бит также можно изменять вручную, в прерывании.
50% - просто toggle bit, все остальные значения - в прерывании сбрасываем, автоматом устанавливаем (или наоборот, как удобнее).
--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
|
|
|
|
|
Oct 25 2012, 23:53
|
Местный
  
Группа: Участник
Сообщений: 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
--------------------
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|