⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 cypress cy3721做的外部无线结点。感知温度后将温度值反给中心结点。
💻 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 + -