📄 main.c
字号:
//----------------------------------------------------------------------------
// C main line
//----------------------------------------------------------------------------
#include <m8c.h> // part specific constants and macros
#include "PSoCAPI.h" // PSoC API definitions for all User Modules
#include "driverdecl.h"
#include "CMXSystem.h"
#include "CMXSystemExtern.h"
#include "TransferFunction.h"
#include "cmx.h"
#include "ProjectProperties.h"
#include "Custom.h"
// Channel includes
// ADC_00 Include
#include "CMX_ADC_CHAN.h"
void main()
{
// Initialize Project
M8C_EnableGInt; // Turn on interrupts
SystemTimer_Start();
SystemTimer_SetInterval(SystemTimer_64_HZ);
SystemTimer_EnableInt();
// Initialize Channels
// ADC_00 Initialization
AdcScanReset(); // Initialize ADC scanner
ADC10_Start(ADC10_FULLRANGE); // Start the User Module
ADC10_iCal(0x1FF, ADC10_CAL_VBG); // Calibrate the ADC so 1.3V = 0x01FF
bADC_Mode = 1; // Turn scanning on after calibration
ADC10_StartADC();
I2C_CFG &= 0xFC; // Disable I2C in case it's not used.
// Initialize Variables
SystemVars.ReadOnlyVars.pse_BlueLED = 0;
SystemVars.ReadOnlyVars.pse_Buzzer = 0;
SystemVars.ReadOnlyVars.pse_GreenLED = 0;
SystemVars.ReadOnlyVars.pse_RedLED = 0;
SystemVars.ReadOnlyVars.pse_SyncedBlinkTimer = 0;
SystemVars.ReadOnlyVars.pse_TempRange = 0;
SystemVars.ReadOnlyVars.pse_Temperature_Temp = 0;
// Driver instantiations
CMX_BLINKINGLED_Instantiate(&pse_BlueLED);
CMX_BLINKINGLED_SetValue(&pse_BlueLED, (BYTE)SystemVars.ReadOnlyVars.pse_BlueLED);
CMX_BLINKINGLED_Instantiate(&pse_RedLED);
CMX_BLINKINGLED_SetValue(&pse_RedLED, (BYTE)SystemVars.ReadOnlyVars.pse_RedLED);
CMX_BLINKINGLED_Instantiate(&pse_GreenLED);
CMX_BLINKINGLED_SetValue(&pse_GreenLED, (BYTE)SystemVars.ReadOnlyVars.pse_GreenLED);
CMX_I2C_Instantiate(&pse_I2CSlave);
CMX_mVolts_Instantiate(&pse_Temperature_THERM);
CMX_mVolts_Instantiate(&pse_Temperature_EXC);
CMX_GENERICPWM_Instantiate(&pse_Buzzer);
CMX_INTERVAL_Instantiate(&pse_SyncedBlinkTimer);
CMX_FTTHERM_Instantiate(&pse_Temperature);
// Custom initization code.
CustomInit();
// End Initialize Project
while(1)
{
// Sync loop sample rate
#if ( SAMPLE_DIVIDER )
SystemTimer_SyncWait(SAMPLE_DIVIDER, SystemTimer_WAIT_RELOAD);
#endif
// update input variables
SystemVars.ReadOnlyVars.pse_SyncedBlinkTimer = CMX_INTERVAL_GetValue(&pse_SyncedBlinkTimer);
SystemVars.ReadOnlyVars.pse_Temperature_Temp = CMX_FTTHERM_GetValue(&pse_Temperature);
// Custom Post Input function
CustomPostInputUpdate();
// run transfer function and update output variables
TransferFunction();
// CustomPreOutputUpdate();
CustomPreOutputUpdate();
// set outputs
CMX_BLINKINGLED_SetValue(&pse_BlueLED, (BYTE)SystemVars.ReadOnlyVars.pse_BlueLED);
CMX_GENERICPWM_SetValue(&pse_Buzzer, (BYTE)SystemVars.ReadOnlyVars.pse_Buzzer);
CMX_BLINKINGLED_SetValue(&pse_GreenLED, (BYTE)SystemVars.ReadOnlyVars.pse_GreenLED);
CMX_BLINKINGLED_SetValue(&pse_RedLED, (BYTE)SystemVars.ReadOnlyVars.pse_RedLED);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -