打印
[IoT技术交流]

M051学习笔记--GPIO

[复制链接]
587|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mnmjmkml|  楼主 | 2019-3-27 15:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原贴链接:http://www.openedv.com/forum.php?mod=viewthread&tid=69


GPIO不像TIMER那么复杂,相信大家都比较容易看懂,这里只是提出几个应该注意的地方,以及对几个库函数进行简单的讲解 !这路,我是彻底的抛开寄存器操作,让没有寄出的朋友只要用到库也能操作M051. 如有不详或错误请大家指正!

1.IO复用的时候,一定记得初始化,用到的库函数:
    DrvGPIO_InitFunction(E_FUNC_UART0);
  2.IO的模式一定要清晰:
    DrvGPIO_Open(E_PORT3,E_PIN6,E_IO_OUTPUT);
   输出输入一定要明确;
   有种状况,比如我们在往一个IO上面输出某个电平给LED,下次我需要得到上次LED的状态,我们只需要调用 DrvGPIO_GetDoutBit(port, pin)即可
3.外部中断:   
     DrvGPIO_InitFunction(E_FUNC_EXTINT0);
     DrvGPIO_EnableEINT(E_EINT0_PIN,E_IO_BOTH_EDGE,E_MODE_EDGE,(EINT_CALLBACK)EINT0_Callback_Function); //E_EINT0_PIN P3.2
4.IO中断:
//    DrvGPIO_Open(E_PORT1, E_PIN0,E_IO_INPUT);
    DrvGPIO_EnableInt(E_PORT1, E_PIN0, E_IO_BOTH_EDGE, E_MODE_EDGE);
    DrvGPIO_SetIntCallback((P0P1_CALLBACK)INTP0P1_Callback_Function, (P2P3P4_CALLBACK)INTP2P3P4_Callback_Function);

使用特权

评论回复
沙发
xinpian101| | 2019-3-27 19:12 | 只看该作者
貌似老库的函数

使用特权

评论回复
板凳
xinpian101| | 2019-3-27 19:12 | 只看该作者
这种函数好像已经淘汰了,新版的上面不是这么名字了

使用特权

评论回复
地板
wahahaheihei| | 2019-3-27 19:42 | 只看该作者
貌似跟我的库函数不一样

使用特权

评论回复
5
wanduzi| | 2019-3-27 23:13 | 只看该作者
多谢分享。巩固一下。

使用特权

评论回复
6
huahuagg| | 2020-2-17 22:14 | 只看该作者
这个版本的BSP哪儿下载

使用特权

评论回复
7
幸福小强| | 2020-2-17 22:37 | 只看该作者
要按照最新版的研究了

使用特权

评论回复
8
xixi2017| | 2020-2-17 22:46 | 只看该作者
不知道这个库跟新的有啥区别

使用特权

评论回复
9
598330983| | 2020-2-18 13:48 | 只看该作者
几种模式明白怎么回事就好选择了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

41

帖子

0

粉丝