|
|
前往: |
| M051学习笔记--GPIO |
| 发表人 | 内容 | |
|---|---|---|
| 2010/12/16 00:39 |
|
|
[楼主位] 张洋
等级:
注册时间:![]() 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能给大家提供一个友好的技术交流平台! |
||
|
||
|
|
||
|
| 前往: |