Se hará uso del módulo A/D de 10 bits de resolución con el que cuenta el MCU R5F563NB de la tarjeta de evaluación YRDKRX63N. El valor de muestreo será visualizado el LCD 96x64 en tiempo real.
- Configurar el modulo A/D de 10 bits
- Imprimir el valor del convertidor en el LCD.
- Del manual Renesas RX63N RDK User's Manual ubicamos el canal AN2
- Debido a que no se tiene un potenciómetro conectado a un canal A/D 10 bits utilizaremos el conector PMOD1 en su entrada Nº1 PE4.
- Del RX63N Group User's Manual: Hardware página 1748 hacemos referencia al canal analógico 2 cuyo registro de lectura es ADDRC:
PASOS:
- Creación de un proyecto:
2.- New/ C Project / Renesas RXC ToolChain
3.- Seleccionar el target R5F563NB, debug hardware Segger jLink, después next
4.- Seleccionar C/C++ Source file y por ultimo Finish.
5.- Configuraremos el A/D a 10 bits de resolución y un tiempo de muestreo de 2.0 us en el archivo r_cg_adc.c
void R_ADC_Create(void)
{
MSTP(AD)
= 0; // AD 10 bits enable
/* set direction and enable input */
PORTE.PDR.BIT.B4 = 0; // PE4 como input
PORTE.PMR.BIT.B4 = 0; // como
I/O
MPC.PE4PFS.BYTE = 0x80;
// Set port
function register to analog input, no interrupt.
AD.ADCSR.BYTE = 0x00;
//AD.ADCSR.BIT.ADIE =0; // ADI interrupt is disabled
//AD.ADCSR.BIT.ADST = 0; //Stops A/D conversion
/* software trigger, single scan mode,
PCLK/8 = ADCLK = 6 MHz */
AD.ADCR.BYTE = 0x00;
/* flush LSB end */
AD.ADCR2.BYTE = 0x00;
//AD.ADCR2.BIT.DPSEL = 0;
//Self-Diagnostic
AD.ADDIAGR.BYTE = 0x0;
/* sampling state register. adds to
conversion time such that
//Sampling
time (μs) = Setting value of ADSSTR / ADCLK
(MHz) ADCLK = PCLK / 8 = 6 Mhz
//
Ts = 2 uS, Fs = 500 kHz */
AD.ADSSTR = 12;
}
void main(void)
{
set_ipl(0); // enable interrupts
SR_Oscilador(); //
F = 96 Mhz
SR_LCD_GRAPH(); // LCD 96x64
SR_TIMER_0(); // Inicializa
el Timer 0 en cascada para 16 bits
SR_ADC(); // ADC 10 bits ch 2 PE4
while(1)
{
AdcValue
= adc_get_vdd(); // adquiere el valor 10 bits del
ch 2 PE4
voltage
= (3.3 * AdcValue) / 1024.0;
LCDPrintf(0,
0, "Microcarsil
");
LCDPrintf(1, 0, " 2017
");
LCDPrintf(2, 0, "Carlos Silva");
LCDPrintf(3, 0, " ");
LCDPrintf(4, 0, "Practica #5 ");
LCDPrintf(5,
0, " ");
LCDPrintf(6,
0, "AD10 = %.3f
", voltage);
LCDPrintf(7, 0, " ");
delay_ms(100);
}
}
- Agregar código, compilar y debug:
--> Practica #5
2.- Compilar con el icono del martillo y debug con el icono del insecto:
VÍDEO:
No hay comentarios.:
Publicar un comentario