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

Вернуться   Форум Микро-Чип > Общетехнические вопросы

Общетехнические вопросы Общие вопросы аналоговой и цифровой электроники.

Ответ
 
Опции темы Опции просмотра
Старый 07.01.2011, 11:24   #1
hammer
Senior Member
 
Аватар для hammer
 
Регистрация: 28.03.2007
Адрес: Almaty
Возраст: 34
Сообщений: 365
Вес репутации: 194/50
hammer has a spectacular aura abouthammer has a spectacular aura about
По умолчанию PIC24FJ SPI Slave Proteus симуляция

Здравствуйте. Не могу понять, ЧЯДНТ. Вроде, ограничений у протеуса (7.5 SP3) на симуляцию SPI нет. Однако вошпе не срабатывает. Вешаю SPI Debugger в режиме мастера. С 16F887 отлично работало, а тут ничего не происходит. Мож я чего в инициализации упустил?
Код:
//#define debug
#include <p24fj16ga002.h>
#include "main.h"
#include "serial.h"
/***********************************************************/
unsigned char buffer[255];
volatile unsigned int i;
/***********************************************************/
void init();
/***********************************************************/
_CONFIG1(FWDTEN_ON & JTAGEN_OFF & GCP_ON & FWPSA_PR128 & WDTPS_PS1024)
_CONFIG2(FNOSC_PRIPLL & OSCIOFNC_OFF & IOL1WAY_ON & I2C1SEL_PRI & POSCMOD_HS)
/***********************************************************/ 
#define Fosc 32000000.
#define Presc 8.
#define Freq 800.
#define TIMER ( Fosc / ( 2. * Freq * Presc) )
/***********************************************************/
/***********************************************************/
void _ISR _SPI1Interrupt(void)
{
	buffer[i++] = SPI1BUF;
	_SPI1IF = 0;
}	

void _ISR _U2RXInterrupt(void)
{
	serial_isr();
}	
/****************************************************/

void initSPI()
{
	asm volatile("MOV #OSCCON, w1\n"
				"MOV #0x46, w2\n"
				"MOV #0x57, w3\n"
				"MOV.b w2, [w1]\n"
				"MOV.b w3, [w1]\n"
				"BCLR OSCCON,#6");
				
	RPINR20bits.SDI1R = 3;	//SDI1
	RPINR20bits.SCK1R = 2;	//SCK1IN;
	
	
	RPINR19bits.U2RXR = 15;	//U2RX
	RPOR7bits.RP14R = 5;	//U2TX
	
	asm volatile ("MOV #OSCCON, w1\n"
				"MOV #0x46, w2\n"
				"MOV #0x57, w3\n"
				"MOV.b w2, [w1]\n"
				"MOV.b w3, [w1]\n"
				"BSET OSCCON, #6");

	SPI1STAT = 0x0000;
	SPI1CON1 = 0b0000100000000000;		//disable SDO
	SPI1CON2 = 0x0000;
	_SPI1IF = 0;
	_SPI1IE = 1;
	_SPI1IP = 4;
	SPI1STAT = 0x8000;					// enable SPI1
}

void main()
{
	AD1PCFG = 0xFFFF;			//all pins digital IO
	TRISB = 0x000;;				
	TRISBbits.TRISB14 = 1;		//UART RX
	TRISBbits.TRISB15 = 1;		//UART TX
	TRISBbits.TRISB2 = 1;		// SPI1 SCK
	TRISBbits.TRISB3 = 1;		// SPI1 SDI
	LATB = 0x0000;
	PORTB = 0x000;
	TRISA = 0;
	LATA = 0;
	i = 0;
	
	initSPI();
	init_comm();

	putsU2("init");
		
	while(1)
	{
		ClrWdt();
	}
}
__________________
Бывает, проснешься как птица –
Крылатой пружиной на взводе.
И хочется жить и трудиться!..
Но к завтраку это проходит...
hammer вне форума   Ответить с цитированием
Ответ

Метки
pic24, proteus, spi slave


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SPI интерфейс. PIC16F887 + CC2500 RF module. Cavalryman Вопросы начинающих 45 08.07.2010 18:59
Прерывание SPI в dsPIC33FJ33GP202 Любопытный Продукция MICROCHIP 6 28.11.2008 17:29
Проблема SPI slave с SS enabled у PIC18F452 murug Продукция MICROCHIP 6 28.05.2008 22:38
SPI Slave (PIC18 dsPIC33) NickB Продукция MICROCHIP 2 19.12.2007 16:26
PIC18F452 SPI Slave проблемы Lamp Продукция MICROCHIP 1 01.10.2007 17:51


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


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