Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: pic24hj
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
U-Rock
Возникла проблема при инициализации конфигурационных регистров SPI МК PIC24HJ128GP210
питаюсь писать сразу значение в регистр: SPI1CON1 = 0x043E; при чтении в регистре 0х0000
пробывал писать через структуру побитово:
IFS2bits.SPI2IF = 0; /* Clear the Interrupt Flag */
IEC2bits.SPI2IE = 0; /* Disable the Interrupt */
IPC8bits.SPI2IP = 0x06; /* Interrupt priority */
/* SPI1CON2 Register Settings */
SPI2CON1bits.DISSCK = 0; /* Internal Serial Clock is Enabled */
SPI2CON1bits.DISSDO = 0; /* 0- SDOx pin is controlled by the module */
SPI2CON1bits.MODE16 = 1; /* Communication is word-wide (16 bits) */
SPI2CON1bits.SMP = 0; /* Input Data is sampled at the middle of data output time */
SPI2CON1bits.CKE = 0; /* Serial output data changes on transition from */
SPI2CON1bits.MSTEN = 1; /* Master Mode Enabled */
SPI2STATbits.SPIEN = 1; /* Enable SPI Module */
/*set SPI frequency equal 10 MHz */
/*SPI2CON1bits.SPRE = 0b111;
SPI2CON1bits.PPRE = 0b10;*/

SPI2CON1bits.SPRE0 = 1;
SPI2CON1bits.SPRE1 = 1;
SPI2CON1bits.SPRE2 = 1;
SPI2CON1bits.PPRE0 = 0;
SPI2CON1bits.PPRE1 = 1;

IFS2bits.SPI2IF = 0; /* Clear the Interrupt Flag */
IEC2bits.SPI2IE = 1; /* Enable the Interrupt */

в итоге в регистре значения предделитей по нулях и SPI работает на минимальной частоте
помогите разобраться плиз
U-Rock
Подскажите хоть в каком направлении двигаться? проблема из-за неправильного программирования, или я что-то упустил при написании программы или контроллер бракований (пробывал на 3-х но они все из одной партии), а может я чего-то не знаю?? раньше работал с авр и это первый мой проект на пиках
Alex B._
Цитата(U-Rock @ Jun 12 2008, 17:27) *
Возникла проблема при инициализации конфигурационных регистров SPI МК PIC24HJ128GP210

В таких случаях обычно смотрят листинг. Если вас это успокоит - то все там работает.
U-Rock
Цитата(Alex B._ @ Jun 17 2008, 17:09) *
В таких случаях обычно смотрят листинг. Если вас это успокоит - то все там работает.

я смотрел асемблеровский листинг там все нормально но регистры све равно не пишутся
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.