www.openedv.com
您好,欢迎您!    会员注册 | 登入 
公告:欢迎访问www.openedv.com开源电子网,开源共享共同进步,祝您新年快乐,万事如意!
设为首页 | 加入收藏
论坛首页 » 其他CM0,CM3系列 前往: 
M051学习笔记--GPIO
发表人 内容
[Down] [Up]
[楼主位] 张洋

等级:NO
注册时间:
2010/12/14 10:47
文章: 337
来自: 广州
离线

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);

下一节,将着重讲解M051的各类时钟源的配置!!!!





希望openedv能给大家提供一个友好的技术交流平台!
[加为好友] 回复 引用回复
 
前往: 

Powered by ALIENTEK工作室 © 粤ICP备12000418号-1