使用LPC1788库函数的一些总结经验
时间:10-02
整理:3721RD
点击:
最近一段时间,学习了一个新的ARM(LPC1788),在keil下,使用库函数进行编程,发现,在库函数的帮助下,编程变得更加方便。今天,把这些天的一些经验,整理出来,发在这里,供大家查看,也有助于以后,我查看的方便。
第一个模块:GPIO中断。必要的代码如下:
接下来就是中断处理函数了:
第一个模块:GPIO中断。必要的代码如下:
- GPIO_IntCmd(0,1<<16|1<<15,1);//允许P0.16 P0.15下降沿GPIO中断
- NVIC_SetPriority(GPIO_IRQn,1);//设置中断优先级
- NVIC_EnableIRQ(GPIO_IRQn);//允许GPIO中断
接下来就是中断处理函数了:
- void GPIO_IRQHandler(void)//GPIO中断处理函数
- {
- if (GPIO_GetIntStatus(0,16,1))//如果为真,说明发生了P0.16的下降沿中断
- {
- 。//写上自己的中断处理子程序
- GPIO_ClearInt(0,1<<16);//清楚中断标志位
- }
- if(GPIO_GetIntStatus(0,15,1))//如果为真,说明发生的P0.15的下降沿中断
- {
- 。//写上自己的中断处理子程序
- GPIO_ClearInt(0,1<<15);//清楚中断标志位
- }
- }
- SYSTICK_InternalInit(1);//初始化1ms中断一次
- SYSTICK_IntCmd(ENABLE);//允许Systick中断
- SYSTICK_Cmd(ENABLE);//开始计时
- void SysTick_Handler(void)//Systick中断处理函数
- {
- SYSTICK_ClearCounterFlag();//清楚中断标志位
- 。//写上自己的中断处理程序
- }
- void UART2_int(void)//我用的是UART2中断
- {
- UART_CFG_Type lpc_u2;//定义一个结构体
- //CLKPWR_ConfigPPWR(CLKPWR_PCONP_PCUART2 ,ENABLE);//时钟使能,默认的UART2时钟是关闭的,可以不写,在下面的库函数中,会强行打开UART2时钟的。
- void UART2_IRQHandler(void)//UART2中断处理函数
- {
- uint32_t intsrc;
- uint32_t temp;
- uint8_t b;
- intsrc = UART_GetIntId(LPC_UART2);//获得中断类型
- temp = intsrc & UART_IIR_INTID_MASK;//和掩码相或
- if (temp == UART_IIR_INTID_RDA)//判断是否是接收中断
- {
- b = UART_ReceiveByte(LPC_UART2);//取出来数据缓冲区里面接收到的数据
- 。//写上自己定义的程序
- }
- if (temp == UART_IIR_INTID_THRE)//判断是发送中断
- {
- 。//写上自己定义的程序
- }
- }
好啊很好
哈哈,谢谢支持。
在用,看看!
公司买了一个ZLG1788,花了3000多,都没有用过,改用STM32了
可能以后会用到吧?
没用过
用的什么开发板,LPC资料蛮少的!
怎么建一个包含所有库函数的工程?
看库函数的那个html文档,里面有怎么创建工程,然后,根据产生的error或者warning,百度一下就可以了。
嗯,我去找找。