PROGRAMA FINAL
Código del
programa en la sección Processor Expert.
/*
###################################################################
** Filename : ProcessorExpert.c
** Project : ProcessorExpert
** Processor : MKL25Z128VLK4
** Version : Driver 01.01
** Compiler : GNU C Compiler
** Date/Time : 2013-09-10, 12:55, # CodeGen: 0
** Abstract :
** Main module.
** This module contains user's
application code.
** Settings
:
** Contents :
** No public methods
**
**
###################################################################*/
/*!
** @file
ProcessorExpert.c
** @version 01.01
** @brief
** Main module.
** This module contains user's application
code.
*/
/*!
** @addtogroup ProcessorExpert_module
ProcessorExpert module documentation
** @{
*/
/* MODULE
ProcessorExpert */
/* Including
needed modules to compile this module/procedure */
#include "Cpu.h"
#include "Events.h"
#include "AS1.h"
#include "ASerialLdd1.h"
/* Including
shared modules, which are used for whole project */
#include "PE_Types.h"
#include "PE_Error.h"
#include "PE_Const.h"
#include "IO_Map.h"
#define N_MEN 50
typedef struct{byte mensajes[N_MEN];}mensajes;
mensajes m[]={"Bienvenido haz tu pregunta\n\r","\n*Si\n\r","\n*No\n\r","\n*Tal
vez\n\r","\n*Seguro\n\r","\n*Podria ser\n\r","\n*Jamas\n\r"};
extern AS1_TComData ch_copia;
byte *ap_mens=m;
byte *ap_letra;
/* User includes
(#include below this line is not maintained by Processor Expert) */
/*lint -save -e970 Disable MISRA rule (6.3) checking. */
int main(void)
/*lint -restore
Enable MISRA rule (6.3) checking. */
{
/* Write
your local variable definition here */
int cont=1;
/***
Processor Expert internal initialization. DON'T REMOVE THIS CODE!!!
***/
PE_low_level_init();
/*** End
of Processor Expert internal initialization. ***/
/* Write
your code here */
/* For
example: for(;;) { } */
ap_letra=ap_mens;
AS1_SendChar(*ap_letra);
for(;;)
{
if(ch_copia=='\r')
{
ap_mens=&m[cont];
ap_letra=ap_mens;
AS1_SendChar(*ap_letra);
ch_copia=0;
}
cont++;
if(cont>6)
{
cont=1;
ap_mens=&m;
}
}
/*** Don't
write any code pass this line, or it will be deleted during code generation.
***/
/*** RTOS
startup code. Macro PEX_RTOS_START is defined by the RTOS component. DON'T
MODIFY THIS CODE!!! ***/
#ifdef PEX_RTOS_START
PEX_RTOS_START();
/*
Startup of the selected RTOS. Macro is defined by the RTOS component. */
#endif
/*** End
of RTOS startup code. ***/
/***
Processor Expert end of main routine. DON'T MODIFY THIS CODE!!! ***/
for(;;){}
/***
Processor Expert end of main routine. DON'T WRITE CODE BELOW!!! ***/
} /*** End of main routine. DO NOT MODIFY THIS TEXT!!!
***/
/* END
ProcessorExpert */
|
Código del programa en la sección Events.c. |
/* ###################################################################
** Filename : Events.c
** Project : ProcessorExpert
** Processor : MKL25Z128VLK4
** Component : Events
** Version : Driver 01.00
** Compiler : GNU C Compiler
** Date/Time : 2013-09-10, 12:55, # CodeGen: 0
** Abstract :
** This is user's event module.
** Put your event handler code here.
** Settings :
** Contents :
** Cpu_OnNMIINT - void Cpu_OnNMIINT(void);
**
**
###################################################################*/
/*!
** @file Events.c
** @version 01.00
** @brief
** This is user's event module.
** Put your event handler code here.
*/
/*!
** @addtogroup Events_module Events
module documentation
** @{
*/
/* MODULE Events
*/
#include "Cpu.h"
#include "Events.h"
#ifdef __cplusplus
extern "C" {
#endif
AS1_TComData ch_copia; //TComData type is defined in the AS1.h header file
extern byte *ap_letra;
/* User includes
(#include below this line is not maintained by Processor Expert) */
/*
**
===================================================================
** Event :
Cpu_OnNMIINT (module Events)
**
** Component : Cpu
[MKL25Z128LK4]
** Description :
** This event is called when the Non maskable
interrupt had
** occurred. This event is
automatically enabled when the <NMI
** interrupt> property is set to
'Enabled'.
** Parameters : None
** Returns : Nothing
**
===================================================================
*/
void Cpu_OnNMIINT(void)
{
/* Write
your code here ... */
}
/*
**
===================================================================
** Event :
AS1_OnError (module Events)
**
** Component :
AS1 [AsynchroSerial]
** Description :
** This event is called when a channel
error (not the error
** returned by a given method) occurs.
The errors can be read
** using <GetError> method.
** The event is available only when the
<Interrupt
** service/event> property is
enabled.
** Parameters : None
** Returns : Nothing
**
===================================================================
*/
void AS1_OnError(void)
{
/* Write
your code here ... */
}
/*
**
===================================================================
** Event :
AS1_OnRxChar (module Events)
**
** Component :
AS1 [AsynchroSerial]
** Description :
** This event is called after a correct
character is received.
** The event is available only when the
<Interrupt
** service/event> property is
enabled and either the <Receiver>
** property is enabled or the <SCI
output mode> property (if
** supported) is set to Single-wire
mode.
** Parameters : None
** Returns : Nothing
**
===================================================================
*/
void AS1_OnRxChar(void)
{
{
AS1_TComData ch;
//Read received character and send it
if no error is detected
if(AS1_RecvChar(&ch) == ERR_OK)
AS1_SendChar(ch);
ch_copia=ch;
}
}
/*
**
===================================================================
** Event :
AS1_OnTxChar (module Events)
**
** Component :
AS1 [AsynchroSerial]
** Description :
** This event is called after a
character is transmitted.
** Parameters : None
** Returns : Nothing
** ===================================================================
*/
void AS1_OnTxChar(void)
{
/* Write
your code here ... */
ap_letra++;
if(*ap_letra)
AS1_SendChar(*ap_letra);
}
/* END Events */
#ifdef __cplusplus
} /* extern
"C" */
#endif
/*!
** @}
*/
/*
**
###################################################################
**
** This file was created by Processor
Expert 10.2 [05.06]
** for the Freescale Kinetis
series of microcontrollers.
**
** ###################################################################
*/
|
No hay comentarios:
Publicar un comentario