📄 appinit.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 + -