Пт авг 03, 2012 10:50:44
Пт авг 03, 2012 11:37:53
Пт авг 03, 2012 12:56:44
Аlex писал(а):Тяжело судить, не видя куска кода с инициализацией.
/*======================*/
/* configpin.h */
/* Module contains procedures for working with */
/* */
/*======================*/
#ifndef __CONFIGPIN_H
#define __CONFIGPIN_H
#define ON 0
#define OFF 1
#define LED1 PORTAbits.RA9
#define LED2 PORTCbits.RC2
#define DAC_DATA PORTAbits.RA7
#define DAC_CLK PORTBbits.RB11
#define DAC_CS PORTBbits.RB10
#define DP1A PORTCbits.RC4
#define DP1B PORTCbits.RC3
#define DP2A PORTBbits.RB4 //|*/PORTAbits.RA0
#define DP2B PORTAbits.RA4 //|*/PORTAbits.RA1
#define INT1 PORTCbits.RC1
#define INT2 PORTAbits.RA0
#define EN_LO PORTAbits.RA8
#define EN_HI PORTCbits.RC5
#define FREQ PORTBbits.RB9
#define FAN PORTAbits.RA10
#define TEMP 5
#define TEMP2 2
#define TEMP3 3
#define VOLTAGE 4
#define CURRENT 11
#define AINPUTS 0xF7C3
//******************************************************************************
void config_Pins(void);
//******************************************************************************
#endif //__CONFIGPIN_H
//========================
// End of file.
//========================
/**
* @file configpins.c
*
* Module to configures I/O ports
*
* @todo
* - Configures I/O ports.
*/
#include "p24FJ64GB004.h"
#include "configpins.h"
//========================
/**
* Function to configure the I/O ports
*/
void config_Pins(void)
{
AD1PCFG = AINPUTS;
TRISA = 0;
TRISB = 0;
TRISC = 0;
TRISAbits.TRISA0 = 1;
TRISAbits.TRISA1 = 1;
TRISAbits.TRISA4 = 1;
TRISBbits.TRISB0 = 1;
TRISBbits.TRISB1 = 1;
TRISBbits.TRISB2 = 1;
TRISBbits.TRISB3 = 1;
TRISBbits.TRISB4 = 1;
TRISBbits.TRISB9 = 1;
TRISBbits.TRISB13 = 1;
TRISBbits.TRISB15 = 1;
TRISCbits.TRISC3 = 1;
TRISCbits.TRISC4 = 1;
TRISCbits.TRISC1 = 1;
TRISAbits.TRISA7 = 0;
TRISAbits.TRISA8 = 0;
TRISAbits.TRISA9 = 0;
TRISAbits.TRISA10 = 0;
TRISBbits.TRISB5 = 0;
TRISBbits.TRISB7 = 0;
TRISBbits.TRISB8 = 0;
TRISBbits.TRISB10 = 0;
TRISBbits.TRISB11 = 0;
TRISBbits.TRISB14 = 0;
TRISCbits.TRISC0 = 0;
TRISCbits.TRISC2 = 0;
TRISCbits.TRISC5 = 0;
TRISCbits.TRISC6 = 0;
TRISCbits.TRISC7 = 0;
TRISCbits.TRISC8 = 0;
TRISCbits.TRISC9 = 0;
ODCAbits.ODA7 = 1;
ODCAbits.ODA8 = 1;
ODCBbits.ODB5 = 1;
ODCBbits.ODB7 = 1;
ODCBbits.ODB8 = 1;
ODCBbits.ODB10 = 1;
ODCBbits.ODB11 = 1;
ODCCbits.ODC5 = 1;
ODCCbits.ODC6 = 1;
ODCCbits.ODC7 = 1;
ODCCbits.ODC8 = 1;
ODCCbits.ODC9 = 1;
RPINR7bits.IC1R = 9; //IC1 -> RP9
RPINR18bits.U1RXR = 15; //RX -> RP15
RPOR7bits.RP14R = 3; //TX -> RP14
}
/*======================*/
/* End of file */
/*======================*/
/**
* @file configmcu.c
*
* Module to configures MCU
*
* @todo
* - Configures MCU.
*/
#include "p24FJ64GB004.h"
#include "adc.h"
#include "configpins.h"
#include "currentlimit.h"
#include "delay.h"
#include "frequency.h"
#include "lcd.h"
#include "serial.h"
//========================
/**
* Function to configure the MCU
*/
void config_Mcu(void)
{
config_Pins();
EN_LO |= OFF;
EN_HI |= OFF;
config_Interrupts();
init_OutInterrupt();
init_UART();
init_delay();
init_ADC(AINPUTS);
init_Frequency();
init_LCD();
}
/*======================*/
/* End of file */
/*======================*/
Пт авг 03, 2012 13:39:31
2. Инициализация портов
LATAbits.LATA0=0; // Сначала в защёлку начальное значение
TRISAbits.TRISA0=0; // Затем пин на вЫход
Пт авг 03, 2012 15:03:57
Вт авг 07, 2012 01:06:30
/**
* @file configpins.c
*
* Module to configures I/O ports
*
* @todo
* - Configures I/O ports.
*/
#include "p24FJ64GB004.h"
#include "configpins.h"
#include "delay.h"
//========================
/**
* Function to configure the I/O ports
*/
void config_Pins(void)
{
unsigned int i = 0;
AD1PCFG = AINPUTS;
LATA = 0x0100;
LATB = 0x0000;
LATC = 0x0020;
for(i = 0; i > 3; i++);
ODCA = 0x0180;
ODCB = 0x0DA0;
ODCC = 0x03E0;
for(i = 0; i > 3; i++);
TRISA = 0xF87F;
TRISB = 0xB25F;
TRISC = 0xFC1A;
for(i = 0; i > 3; i++);
RPINR7bits.IC1R = 9; //IC1 -> RP9
RPINR18bits.U1RXR = 15; //RX -> RP15
RPOR7bits.RP14R = 3; //TX -> RP14
}
/*======================*/
/* End of file */
/*======================*/
Вт авг 07, 2012 01:37:01
for(i = 0; i > 3; i++);
Вт авг 07, 2012 08:48:48
Я могу выложить и оставшийся код, конечно. Только там ничего больше нет относительно этого пина RC5. Он может стать равным нулю только при нажатии на кнопку, которая подключена к одному из портов через функцию Change Notification и внутреннюю подтяжку. При следующем нажатии на кнопку пин RC5 возвращается в единицу.Аlex писал(а):Проблема всяко не в инициализации, а в дальнейшем коде. Ищите по коду что может этот ПИН так дёргать.
К сожалению, в слепую будет трудно Вам что-либо подсказать...
Это цикл задержки. А что вам не понравилось тут?Аlex писал(а):ПыСы:
А эт что такое?
- Код:
for(i = 0; i > 3; i++);
Ср авг 08, 2012 16:02:51
Ср авг 08, 2012 17:31:14