Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 07.06.2017, 10:32   #1
Gera82
Senior Member
 
Аватар для Gera82
 
Регистрация: 13.08.2009
Адрес: Frankfurt / Новосибирск
Возраст: 35
Сообщений: 505
Вес репутации: 349/39
Gera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the rough
По умолчанию DMA, как копировать данные?

Всем Привет,

есть программа, которая работает на железе dsPIC33EV и заканчивается вот так:
Код:
while(1)
{ 
 LATA = PORTB; //ABZ in => ABZ out 
 }
В данный момент все прерывания заблокированы, я не могу себе позволить их включить, данные потом криво копируется, видно при высокой частоте.

Можно как нибудь "копирование данных" через DMA запустить? или дорожки в микрухи прожечь RA0-2 -> RB0-2

У меня просто готовое железо и надо теперь добавит одну "фичу",
надо удлинить Z Импульс 1µs - 100ms, на константное время 250ms и вывести на свободную ножку, это можно сделать через INT0 прерывании и Timer счетчик, но это опять приравнивание, которое мне могут помешать!
Gera82 вне форума   Ответить с цитированием
Старый 07.06.2017, 13:17   #2
Gera82
Senior Member
 
Аватар для Gera82
 
Регистрация: 13.08.2009
Адрес: Frankfurt / Новосибирск
Возраст: 35
Сообщений: 505
Вес репутации: 349/39
Gera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the rough
По умолчанию Re: DMA, как копировать данные?

еще одна идея появилась, сгенерировать импульс с помощью Output Compare:
например: Delayed One-Shot mode

но опять же, без прерываний не обойтись. как мне запустить OC1 без прерывания, только опрашивать порт остается?!

или что такое как:
SYNCSEL<4:0>: Trigger/Synchronization Source Selection bits

11101 = INT1 is the source for compare timer synchronization

это не точно мне нужно, запускалось по INT1?
Gera82 вне форума   Ответить с цитированием
Старый 08.06.2017, 12:16   #3
Gera82
Senior Member
 
Аватар для Gera82
 
Регистрация: 13.08.2009
Адрес: Frankfurt / Новосибирск
Возраст: 35
Сообщений: 505
Вес репутации: 349/39
Gera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the rough
По умолчанию Re: DMA, как копировать данные?

Проблему решил с помощью Output Compare, импульс удлиняется на 200мс железом, без всяких прерываний и обработки, надо только правильно настроить:
Код:
OC1CON1 = 0;
OC1CON2 = 0;              
OC1CON1bits.OCTSEL = 0b000; //TMR2
OC1R = 1;              
OC1RS = 0x5555;
                 
OC1CON1bits.TRIGMODE = 1;
OC1CON2bits.SYNCSEL = 0b11101; // INT1
OC1CON2bits.OCTRIG = 1;       

OC1CON1bits.OCM = 5;     // ???

T2CON = 0;
T2CONbits.TCKPS = 0b11;
T2CONbits.TCS = 0;
PR2 = 60000;        // ???
T2CONbits.TON = 1;
Gera82 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
появились датащиты на PIC32MZ EC Алексей Продукция MICROCHIP 154 16.03.2015 10:43
Прошиваем pic16f84а eeprom, как защить данные. Andreyka Продукция MICROCHIP 9 21.09.2007 15:31
проблемка с PIC16F628A bereg_ok Продукция MICROCHIP 72 07.09.2007 11:00
как на ЦАП правильно вывести данные sergikoff Продукция MICROCHIP 18 30.03.2007 16:52


Часовой пояс GMT +3, время: 08:05.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot