[技术问答] 新塘IO配置是怎么使用关闭数字输入功能(OFFD)

[复制链接]
545|13
 楼主 | 2016-11-8 15:05 | 显示全部楼层 |阅读模式
最近在用新塘的MCU,发现IO配置时可以选择关闭数字输入通道功能,但具体不知道怎么用;

见手册上说“OFFD用于控制数字输入通道是否使能,如果输入为模拟信号,用户可以关闭数字输入通道防止漏电”

那我是不是可以理解为只要IO不是工作在数字输入模式(如RXD)就都可以关闭这个数字输入通道?
 楼主 | 2016-11-8 15:30 | 显示全部楼层
是不是大家用新塘MCU的时候这个功能压根就不用,都默认打开的?
| 2016-11-8 22:30 | 显示全部楼层
搜索一下头文件,看看有没有这个寄存器相关的内容。
 楼主 | 2016-11-9 08:29 | 显示全部楼层
wahahaheihei 发表于 2016-11-8 22:30
搜索一下头文件,看看有没有这个寄存器相关的内容。

搜了下,头文件中就是一个变量定义;没什么其他的内容;
| 2016-11-20 22:30 | 显示全部楼层
//假设要关P1.0

#define P1_OFFD              (*((volatile unsigned long *) (GP_BA+0x00000044)))

P1_OFFD|=(1<<16);
| 2016-11-23 12:50 | 显示全部楼层
楼主这半月搞定没,咋玩的?
| 2016-11-27 17:14 | 显示全部楼层
给的例程或者库函数的说明里面搜那个关键词就可以找到具体的说明,是写1还是写0
| 2016-11-27 17:15 | 显示全部楼层
根据上面朋友写的内容感觉是在那个位置写1
| 2016-11-27 17:18 | 显示全部楼层

帮楼主找到了,库函数里有的,就是GPIO的库函数。
  1. /**
  2. * [url=home.php?mod=space&uid=247401]@brief[/url]       Disable I/O Digital Input Path
  3. *
  4. * @param[in]   port        GPIO port. It could be PA, PB, PC, PD, PE or PF.
  5. * @param[in]   u32PinMask  The single or multiple pins of specified GPIO port.
  6. *                          It could be BIT0 ~ BIT15 for PA and PB GPIO port.
  7. *                          It could be BIT0 ~ BIT3, BIT6 ~ BIT11, BIT14 and BIT15 for PC GPIO port.
  8. *                          It could be BIT6, BIT7, BIT14 and BIT15 for PD GPIO port.
  9. *                          It could be BIT5 for PE GPIO port.
  10. *                          It could be BIT0, BIT1 and BIT4 ~ BIT8 for PF GPIO port.
  11. *
  12. * [url=home.php?mod=space&uid=266161]@return[/url]      None
  13. *
  14. * [url=home.php?mod=space&uid=1543424]@Details[/url]     Disable I/O digital input path of specified GPIO pin.
  15. */
  16. #define GPIO_DISABLE_DIGITAL_PATH(port, u32PinMask) ((port)->OFFD |= ((u32PinMask)<<16))
复制代码


| 2016-11-27 17:52 | 显示全部楼层
It could be BIT0 ~ BIT15 for PA and PB GPIO port.
*                          It could be BIT0 ~ BIT3, BIT6 ~ BIT11, BIT14 and BIT15 for PC GPIO port.
*                          It could be BIT6, BIT7, BIT14 and BIT15 for PD GPIO port.
*                          It could be BIT5 for PE GPIO port.
*                          It could be BIT0, BIT1 and BIT4 ~ BIT8 for PF GPIO port.
这里说的不全,应该是有别的原因吧,不能用?
| 2016-11-27 23:30 | 显示全部楼层
9楼的正解,确实这么做。在头文件里给出了那个GPIO的操作函数了。
| 2016-11-28 19:23 | 显示全部楼层
用新唐的M453开发板,以及新唐网站的M451的BSP包,
1)直接在main函数开始就进行GPIO的输出测试:
    PA11/10/7/6/5/4、PC15、PE2/PE6~PE13这几个GPIO都不能控制,也查看了GPIO.H文件,没有找到原因
2)用BSP包里面的原程序SPI_Flash来看PE12(SPI0_SS),也没有电平变化
有使用这几个GPIO的吗?
| 2016-11-28 20:41 | 显示全部楼层
那意思是一个IO,数字模拟都能用?
 楼主 | 2017-8-2 17:19 | 显示全部楼层
已结贴!
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

分享 快速回复 返回顶部 返回列表