微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 使用LPC1788库函数的一些总结经验

使用LPC1788库函数的一些总结经验

时间:10-02 整理:3721RD 点击:
最近一段时间,学习了一个新的ARM(LPC1788),在keil下,使用库函数进行编程,发现,在库函数的帮助下,编程变得更加方便。今天,把这些天的一些经验,整理出来,发在这里,供大家查看,也有助于以后,我查看的方便。
第一个模块:GPIO中断。必要的代码如下:

  1. GPIO_IntCmd(0,1<<16|1<<15,1);//允许P0.16 P0.15下降沿GPIO中断
  2.         NVIC_SetPriority(GPIO_IRQn,1);//设置中断优先级
  3.         NVIC_EnableIRQ(GPIO_IRQn);//允许GPIO中断

复制代码

这样就可以顺利的开启,GPIO中断了,必要的头文件,需要添加啊!
接下来就是中断处理函数了:

  1. void GPIO_IRQHandler(void)//GPIO中断处理函数
  2. {
  3. if (GPIO_GetIntStatus(0,16,1))//如果为真,说明发生了P0.16的下降沿中断
  4.         {
  5. 。//写上自己的中断处理子程序
  6.                 GPIO_ClearInt(0,1<<16);//清楚中断标志位
  7.         }
  8.         if(GPIO_GetIntStatus(0,15,1))//如果为真,说明发生的P0.15的下降沿中断
  9.         {
  10. 。//写上自己的中断处理子程序
  11.                 GPIO_ClearInt(0,1<<15);//清楚中断标志位
  12.         }
  13. }

复制代码

第二个模块:Systick定时。初始化代码如下:

  1. SYSTICK_InternalInit(1);//初始化1ms中断一次
  2.         SYSTICK_IntCmd(ENABLE);//允许Systick中断
  3.         SYSTICK_Cmd(ENABLE);//开始计时

复制代码

Systick定时中断函数

  1. void SysTick_Handler(void)//Systick中断处理函数
  2. {
  3.   SYSTICK_ClearCounterFlag();//清楚中断标志位
  4.         。//写上自己的中断处理程序
  5. }

复制代码

第三个模块:UART中断,这个我感觉挺重要的。

  1. void UART2_int(void)//我用的是UART2中断
  2. {
  3.         UART_CFG_Type lpc_u2;//定义一个结构体
  4.         //CLKPWR_ConfigPPWR(CLKPWR_PCONP_PCUART2 ,ENABLE);//时钟使能,默认的UART2时钟是关闭的,可以不写,在下面的库函数中,会强行打开UART2时钟的。

复制代码

中断处理函数:

  1. void UART2_IRQHandler(void)//UART2中断处理函数
  2. {
  3.         uint32_t intsrc;
  4.         uint32_t temp;
  5.         uint8_t b;
  6.         intsrc = UART_GetIntId(LPC_UART2);//获得中断类型
  7.         temp = intsrc & UART_IIR_INTID_MASK;//和掩码相或
  8.         if (temp == UART_IIR_INTID_RDA)//判断是否是接收中断
  9.         {
  10.                 b =        UART_ReceiveByte(LPC_UART2);//取出来数据缓冲区里面接收到的数据
  11.                 。//写上自己定义的程序
  12.         }
  13.         if (temp == UART_IIR_INTID_THRE)//判断是发送中断
  14.         {
  15.                 。//写上自己定义的程序
  16.         }
  17. }

复制代码

至此,这些天,学习的这几个模块,就总结出来了。


好啊很好

哈哈,谢谢支持。

在用,看看!

公司买了一个ZLG1788,花了3000多,都没有用过,改用STM32了

可能以后会用到吧?

没用过

用的什么开发板,LPC资料蛮少的!

怎么建一个包含所有库函数的工程?

看库函数的那个html文档,里面有怎么创建工程,然后,根据产生的error或者warning,百度一下就可以了。

嗯,我去找找。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top