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

📄 mcu_hw_config.c

📁 zigbee 飞思卡尔 音频传输 基于ucos的所有源码
💻 C
字号:
/****************************************************************************
*File:    
*Purpose:  contains 'drivers' for the GPIO pins
****************************************************************************/
#include "mcu_hw_config.h"
#include "drivers.h"
#include "MC13192_regs.h"

void MCU_LOW_POWER_WHILE()
{
    /* Execute the stop instruction */
	asm (stop #0x2000);
	
}

//change for HHCF521X-KIRIN by michael chen
void PortInit(void)
{
	/*Set for wait mode*/
    MCF_PMM_LPCR = 0
        | MCF_PMM_LPCR_LPMD_WAIT
        | MCF_PMM_LPCR_STPMD(0x0);
    /*Set for interrupt level so txcvr can bring out of wait mode*/
    MCF_PMM_LPICR = 0
        | MCF_PMM_LPICR_XIPL(0)
        | MCF_PMM_LPICR_ENBSTOP;
		
	MCF_GPIO_PQSPAR = (0
	| MCF_GPIO_PQSPAR_PQSPAR2(1) 
	| MCF_GPIO_PQSPAR_PQSPAR1(1) 
	| MCF_GPIO_PQSPAR_PQSPAR0(1));
	
	
	/* initialize the mode register */
	MCF_QSPI_QMR = (0
	| MCF_QSPI_QMR_MSTR
	| MCF_QSPI_QMR_DOHIE
	| MCF_QSPI_QMR_BITS(16)
	| MCF_QSPI_QMR_BAUD(0xa) );
	
	
	/* initialize QSPI wrap register */
	
	MCF_QSPI_QWR = (0
	| MCF_QSPI_QWR_CSIV);
	

	/*Initialize Command Ram*/
	MCF_QSPI_QAR = 0x20;		/*points to the command ram*/
	MCF_QSPI_QDR = 0x4000;		/*initialize CR for 16 bit xfer*/
	MCF_QSPI_QIR = 0xD00F;	

	/*
	 * Set ports QS and ports UB for GPO function 4 pins total
	 */

	/*Data direction*/
	MCF_GPIO_DDRQS = (0
		| MCF_GPIO_DDRQS_DDRQS6		/*cs3*/
		| MCF_GPIO_DDRQS_DDRQS5		/*cs2, cs*/
		| MCF_GPIO_DDRQS_DDRQS4		/*cs1, RESET*/
		| MCF_GPIO_DDRQS_DDRQS3);	/*CS0*/

	/*port data*/
	MCF_GPIO_PORTQS = (0
		| MCF_GPIO_PORTQS_PORTQS6
		| MCF_GPIO_PORTQS_PORTQS5		/*cs2, cs*/
		| MCF_GPIO_PORTQS_PORTQS3);

	/*Pin assigments*/
	MCF_GPIO_PUBPAR = (0
		| MCF_GPIO_PUBPAR_PUBPAR3(0)   /*CTS1*/
		| MCF_GPIO_PUBPAR_PUBPAR2(0)); /*RTS1*/ 
	/*Data direction*/
	MCF_GPIO_DDRUB = (0
		| MCF_GPIO_DDRUB_DDRUB3
		| MCF_GPIO_DDRUB_DDRUB2);
	/*port data*/
	MCF_GPIO_PORTUB = (0
	  	| MCF_GPIO_PORTUB_PORTUB3
	  	| MCF_GPIO_PORTUB_PORTUB2);

	/* Set up the interrupt to be falling edge on IRQ1*/
	MCF_EPORT_EPPAR |= MCF_EPORT_EPPAR_EPPA1_FALLING;
	/* Set up all pins as input*/ 
	MCF_EPORT_EPDDR = (0x0);
	/* allow interrupts from IRQ1*/
	MCF_EPORT_EPIER	|= MCF_EPORT_EPIER_EPIE1;

	DeAssertRESET();
	SPIDrvWrite(0x00, 0x0000);/*soft reset*/

	while(!(MCF_EPORT_EPFR & 0x02));

	MCF_EPORT_EPFR = (0xFE);

	SPIDrvRead(STATUS_ADDR);

	MCF_INTC_IMRL &= (0
		| (~(MCF_INTC_IMRL_MASKALL) & ~(MCF_INTC_IMRL_MASK1 )));

}

void AssertRESET(void)
{
	MCF_GPIO_PORTQS = (MCF_GPIO_PORTQS & 0xEF);
}

void DeAssertRESET(void)
{
	MCF_GPIO_PORTQS = (MCF_GPIO_PORTQS | 0x10);
}

void AssertATTN(void)
{
	MCF_GPIO_PORTUB = (MCF_GPIO_PORTUB & 0xF7);
}

void DeAssertATTN(void)
{
	MCF_GPIO_PORTUB = (MCF_GPIO_PORTUB | 0x08);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -