[IoT技术交流] M051学习笔记--GPIO

[复制链接]
 楼主| 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 | 显示全部楼层
貌似跟我的库函数不一样
wanduzi 发表于 2019-3-27 23:13 | 显示全部楼层
多谢分享。巩固一下。
huahuagg 发表于 2020-2-17 22:14 | 显示全部楼层
这个版本的BSP哪儿下载
幸福小强 发表于 2020-2-17 22:37 | 显示全部楼层
要按照最新版的研究了
xixi2017 发表于 2020-2-17 22:46 | 显示全部楼层
不知道这个库跟新的有啥区别
598330983 发表于 2020-2-18 13:48 | 显示全部楼层
几种模式明白怎么回事就好选择了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

41

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

7

主题

41

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部