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

📄 appinit.c

📁 基于MDK的LPC1100处理器开发应用例程
💻 C
字号:
#include "APP.h"


uint32_t ntohl(uint32_t netlong)
{
	return ( ((netlong & 0xff)<<24) | ((netlong & 0xff00)<<8) |((netlong & 0xff0000)>>8) | ((netlong & 0xff000000)>>24) );
}

uint16_t ntohs(uint16_t netshort)
{
	return ( ((netshort & 0xff)<<8) | ((netshort & 0xff00)>>8));
}

/*htonl 表示 host to network long ,用于将主机 unsigned int 型数据转换成网络字节顺序(也就是大端模式);*/
uint32_t htonl(uint32_t hostlong)
{
	return ( ((hostlong & 0xff)<<24) | ((hostlong & 0xff00)<<8) |((hostlong & 0xff0000)>>8) | ((hostlong & 0xff000000)>>24) );
}

uint16_t htons(uint16_t hostshort)
{
	return ( ((hostshort & 0xff)<<8) | ((hostshort & 0xff00)>>8));
}

void SPI_GPIO_Configuration(void)
{
	// Enable GPIO Clock
  	LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6)|(1<<16);

	GPIO_SetDir(CGDOPort, CGDO0, 0);

	LPC_SYSCON->PRESETCTRL |= (0x1<<0);
	/* Enable power to SSP0 block         */
	LPC_SYSCON->SYSAHBCLKCTRL |= (1<<11);

	//GDO0(P2.5)  GDO2(p2.4) input
	GPIO_SetDir( PORT2, 4, 0 );
	GPIO_SetDir( PORT2, 5, 0 );

	LPC_SYSCON->SSP0CLKDIV = 1;//0x02;
	/* 在 HummingBird 1(HB1), SSP CLK 可以被重定向到不同的引脚,
		而不像 JTAG TCK, 可以是 P2.11 func. 1 或 P0.6 func. 2. */
	LPC_IOCON->SCKLOC = 0x01;

	///* configure all SPI related pins */
		/*-- SSP Configuration -----------------------------------------------------*/
	LPC_IOCON->SCKLOC = 0x01;
	SSP_SSP0PinsInit(1, DISABLE);/*1 is select SCK0_PIO2_11 */

    /* SSP SSEL 3.5  是 GPIO 引脚 */
	/* port0, 第 2 位设置为 GPIO 输出并为高 */
	GPIO_SetDir( CSPort, CSPICSN, 1 );
	GPIO_SetBits(CSPort, CSPICSN);

//	SC->PCLKSEL0    &=  ~(3 << 20);  //00   SSP1 clock = CCLK / 4
//	SC->PCLKSEL0    |=  1 << 20;  //PCLKSP1 = CCLK  72M

	  //	  SSP1->CR0        =  (    1  << 7) |   /* CPHA = 1                           */
	  //	                      (    1  << 6) |   /* CPOL = 1                           */
	  //	                      (    0  << 4) |   /* Frame format = SPI                 */
	  //	                      (( 8-1) << 0) ;   /* Data size = 8 bits                 */
	  //SSP1->CR0  &= ~(1<<6 | 1<<7 | 3<<4);
	LPC_SSP0->CR0       =  0x07;
	LPC_SSP0->CPSR      =  12;//240;//120;//450;//  48M/600 = 80K     //72MHz / 180 = 400kBit/  400/5 = 80K    500 50      /* 25/100 250kBit  Clock Rate = 18MHz                 */
	/* initialize the SPI registers */

	/* 使能 SSP 中断 */
	NVIC_EnableIRQ(SSP0_IRQn);

	/* 选中为主器件, SSP 使能 */  /* 主模式 */
	LPC_SSP0->CR1 = SSP_CR1_SSP_EN;//SSPCR1_SSE;

	/* 设置 SSPINMS 寄存器使能中断 */
	/* 使能相关中断的所有错误 */
	LPC_SSP0->IMSC = SSP_MIS_ROR | SSP_MIS_RT;
}


⌨️ 快捷键说明

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