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

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

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

Ответ
 
Опции темы Опции просмотра
Старый 25.05.2014, 00:34   #1
Геннадий Ходячих
Senior Member
 
Регистрация: 25.01.2009
Адрес: Харьков, Украина
Возраст: 56
Сообщений: 433
Вес репутации: 219/37
Геннадий Ходячих has a spectacular aura aboutГеннадий Ходячих has a spectacular aura aboutГеннадий Ходячих has a spectacular aura about
По умолчанию dspic33fj256MC710, 710A - проблема со SPI1

День добрый!
Вылезла проблема
имею две платы - одна на 710, другая на 710А
Так получилось, что отладил два разных устройства по SPI2. Все работает идеально.
Попытался объединить. Решил одно перевести на SPI1 и затем объединить в одном процессоре. Но тут проблема - SPI1 не работает. Прозванивал - все нормально. В программе поменял только SPI2 в регистрах SPI1, порты соответствующие назначил
Отлаживаю через PICKIT3. Что интересно - прерывание по SPI1 отрабатывает, но информация - все 1. Осцилографа нет, есть LOGIC-U. Он показывает, что по SCK1 нет импульсов, но порт настроен правильно
Код:
.equiv	TrisSS,TRISG
.equiv	PortSS,PORTG
.equiv	PinSS,9
.equiv	PinSCK1,6
.equiv	PinSDO1,8
.equiv	PinSDI1,7
.....
	bclr	TrisSS,#PinSS
	bset	PortSS,#PinSS
	bclr	TRISF,#PinSCK1
;	bclr	TRISG,#PinSCK2
	bclr	PORTF,#PinSCK1
	bclr	TRISF,#PinSDO1
	bclr	PORTF,#PinSDO1
	bset	TRISF,#PinSDI1
......
cfgSpi1Master:
	bclr	SPI1CON1,#CKP			;SPI1CON1bits.CKP=0; 
	bset	SPI1CON1,#CKE			;SPI1CON1bits.CKE=1; 
	bclr	SPI1CON1,#MODE16		;SPI1CON1bits.MODE16=1; 
	bset	SPI1CON1,#MSTEN			;SPI1CON1bits.MSTEN=1; 
	bset	SPI1CON1,#SMP			;SPI1CON1bits.CKE=1; 
	bset	SPI1CON1,#SPRE2			;SPI1CON1bits.SPRE=6; 
	bset	SPI1CON1,#SPRE1
	bclr	SPI1CON1,#SPRE0
	bset	SPI1CON1,#PPRE1			;SPI1CON1bits.PPRE=2;
	bclr	SPI1CON1,#PPRE0
	bclr	SPI1CON1,#DISSDO		;SPI1CON1bits.DISSDO=0;
	bclr	SPI1CON1,#DISSCK		;SPI1CON1bits.DISSCK = 0;	
;	
	bclr	IFS0,#SPI1IF
	bset	IEC0,#SPI1IE

;// •	Enable SPI module (SPI1STATbits.SPIEN=?)
	bset	SPI1STAT,#SPIEN			;SPI1STATbits.SPIEN=1; 
	return
Еще раз повторюсь, на SPI2 все работает правильно. Все прерывания перестраиваю на SPI1, приоритет тоже.
Нога 55 -> SCK1/INT0/RF6
Уже и не знаю, куда бежать. Если есть соображения - буду признателен
Геннадий Ходячих вне форума   Ответить с цитированием
Старый 25.05.2014, 10:07   #2
vitalka
Super Moderator
 
Аватар для vitalka
 
Регистрация: 19.03.2007
Адрес: Львов
Возраст: 42
Сообщений: 3,334
Вес репутации: 2341/93
vitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond repute
По умолчанию Re: dspic33fj256MC710, 710A - проблема со SPI1

Цитата:
Сообщение от Геннадий Ходячих Посмотреть сообщение
Вылезла проблема
у меня работало и на 710 и на 710А, проблем не было
вот инициализация

Код:
LATF = 0;
TRISF = (1<<7);
void ConfigureSPI(void)
{
    // reset SPI
    SPI1STAT = 0;
    // master mode, 1MHz
    SPI1CON1 = 0;
    SPI1CON1bits.MSTEN = 1;
    SPI1CON1bits.CKE = 1;
    SPI1CON1bits.PPRE = 0b10;    // 1:4    (20 MHz Fcy)
    SPI1CON1bits.SPRE = 0b011;    // 1:5
    // legacy buffer
    SPI1CON2 = 0;
    //
    // enable SPI
    SPI1STATbits.SPIEN = 1;
}
vitalka вне форума   Ответить с цитированием
Старый 25.05.2014, 18:43   #3
concess
Senior Member
 
Регистрация: 19.06.2012
Адрес: Ростов-на-Дону
Возраст: 43
Сообщений: 157
Вес репутации: 469/23
concess is a glorious beacon of lightconcess is a glorious beacon of lightconcess is a glorious beacon of lightconcess is a glorious beacon of lightconcess is a glorious beacon of light
По умолчанию Re: dspic33fj256MC710, 710A - проблема со SPI1

Читаем ERRATA пункт 30 !
concess вне форума   Ответить с цитированием
Старый 25.05.2014, 20:40   #4
Геннадий Ходячих
Senior Member
 
Регистрация: 25.01.2009
Адрес: Харьков, Украина
Возраст: 56
Сообщений: 433
Вес репутации: 219/37
Геннадий Ходячих has a spectacular aura aboutГеннадий Ходячих has a spectacular aura aboutГеннадий Ходячих has a spectacular aura about
По умолчанию Re: dspic33fj256MC710, 710A - проблема со SPI1

Цитата:
Сообщение от concess Посмотреть сообщение
Читаем ERRATA пункт 30 !
и шо? для каких процессоров этот пункт обратили внимание?
the following devices:
• dsPIC33FJ64MC506
• dsPIC33FJ64MC706
• dsPIC33FJ128MC506
• dsPIC33FJ128MC706

Errata я читал - не дурак, уже наткнулся на грабли с тем же UART.
Геннадий Ходячих вне форума   Ответить с цитированием
Старый 25.05.2014, 20:48   #5
Геннадий Ходячих
Senior Member
 
Регистрация: 25.01.2009
Адрес: Харьков, Украина
Возраст: 56
Сообщений: 433
Вес репутации: 219/37
Геннадий Ходячих has a spectacular aura aboutГеннадий Ходячих has a spectacular aura aboutГеннадий Ходячих has a spectacular aura about
По умолчанию Re: dspic33fj256MC710, 710A - проблема со SPI1

Цитата:
Сообщение от vitalka Посмотреть сообщение
у меня работало и на 710 и на 710А, проблем не было
вот инициализация

Код:
LATF = 0;
TRISF = (1<<7);
void ConfigureSPI(void)
{
    // reset SPI
    SPI1STAT = 0;
    // master mode, 1MHz
    SPI1CON1 = 0;
    SPI1CON1bits.MSTEN = 1;
    SPI1CON1bits.CKE = 1;
    SPI1CON1bits.PPRE = 0b10;    // 1:4    (20 MHz Fcy)
    SPI1CON1bits.SPRE = 0b011;    // 1:5
    // legacy buffer
    SPI1CON2 = 0;
    //
    // enable SPI
    SPI1STATbits.SPIEN = 1;
}
Да понимаю, что какая то мистика. Прозваниваю - все нормально. Алгоритм на SPI2 работает как часы. Сейчас, наверное, два устройства подключу на один порт, благо времени там много. Но хочу еще SD карточку подключить, надо бы на другой порт.
Геннадий Ходячих вне форума   Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема со считаванием секторов с micro SD teksark Общетехнические вопросы 4 19.11.2012 10:17
Проблема со скоростью (PIC18F2550 + USB HID) joint931 Продукция MICROCHIP 7 06.09.2010 01:16
Помогите разобраться с энкодером, проблема со считыванием по INT aлeкcтишнoв Продукция MICROCHIP 11 27.06.2010 23:00
pic16f877a проблема со сравнением 2-х чисел Dmitriy_dda Продукция MICROCHIP 18 15.06.2007 16:26
Проблема со сбросом контроллера Vladim8 Продукция MICROCHIP 7 02.04.2007 04:48


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


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