原创 HED10W07SN基本I/O设计

2015-3-16 16:42 1881 21 21 分类: MCU/ 嵌入式 文集: 导学

基本I/O设计

芯片中没有与其它外设功能复用的GPIO引脚只有3个:GPIO11、GPIO12、GPIO13。

底层提供了相关的接口函数(wm_gpio.h)。常用的应用场合下使用的函数如下:

1、作为输入:

配置I/O引脚为输入:tls_gpio_cfg(gpio_pin, TLS_GPIO_DIR_INPUT, TLS_GPIO_ATTR_FLOATING); 读引脚电平:u16 ret; ret = tls_gpio_read(gpio_pin);

2、作为输出:

配置I/O引脚为输出:tls_gpio_cfg(gpio_pin, TLS_GPIO_DIR_OUTPUT, TLS_GPIO_ATTR_FLOATING); 控制引脚电平:tls_gpio_write(gpio_pin,0);

3、中断输入:

初始化:
  tls_gpio_cfg(gpio_pin, TLS_GPIO_DIR_INPUT, TLS_GPIO_ATTR_PULLLOW);
  tls_gpio_isr_register(demo_gpio_isr_callback,NULL);
  tls_gpio_int_enable(gpio_pin, TLS_GPIO_INT_TRIG_RISING_EDGE);
注意:所有的中断输入引脚共用一个回调函数。 中断回调函数例子:

void demo_gpio_isr_callback(void *context){
  u16 ret;
  ret = tls_get_gpio_int_flag(DEMO_ISR_IO);
  printf("\nint flag =%d\n",ret);
  if(ret) {
    tls_clr_gpio_int_flag(DEMO_ISR_IO);
    ret = tls_gpio_read(DEMO_ISR_IO);
    printf("\nafter int io =%d\n",ret);
  }
}


“开发环境”帖子附件中的例子工程中,MyLearningProject_01是一个简单的led闪烁的例子。main.c是应用代码,MOD\modHwExtSimpleImpl.c是实现代码(使用GPIO13,11)。

主索引

回教程首页





  附件
 
  参考链接
 

 

文章评论0条评论)

登录后参与讨论
我要评论
0
21
关闭 站长推荐上一条 /2 下一条