NXP MCU 技术论坛
直播中

杨永胜

13年用户 2386经验值
擅长:嵌入式技术
私信 关注
[讨论]

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

最近一段时间,学习了一个新的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. }
至此,这些天,学习的这几个模块,就总结出来了。





回帖(10)

亮亮的淘

2016-9-3 14:10:39
好啊很好
举报

杨永胜

2016-9-3 14:55:18

哈哈,谢谢支持。
举报

杨计存

2016-11-11 12:01:24
在用,看看!!!
举报

hunanloyal

2016-11-11 13:42:12
公司买了一个ZLG1788,花了3000多,都没有用过,改用STM32了
举报

杨永胜

2016-11-11 18:03:33
引用: hunanloyal 发表于 2016-11-11 13:42
公司买了一个ZLG1788,花了3000多,都没有用过,改用STM32了

可能以后会用到吧?
举报

张君

2016-11-11 21:39:46
没用过
举报

h1654155269.7612

2016-11-24 20:12:42
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

说不清明天的风

2017-1-9 14:17:53
怎么建一个包含所有库函数的工程?
举报

杨永胜

2017-1-10 08:51:47
引用: 说不清明天的风 发表于 2017-1-9 14:17
怎么建一个包含所有库函数的工程?

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

说不清明天的风

2017-3-24 09:02:29
引用: iysheng 发表于 2017-1-10 08:51
看库函数的那个html文档,里面有怎么创建工程,然后,根据产生的error或者warning,百度一下就可以了。

嗯,我去找找。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分