专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
在STM32F0中可以模拟GPIO引脚输入变高吗?
2019-07-14 15:55
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
11387
8
1291
我正在尝试使用
STM32
F0上的输入引脚和定制定时器来解决各种问题。所有定时器功能都是引脚上的备用功能,因此您无法使用用户按钮(NUCLEO上的PC13),因为它的备用功能中没有任何定时器。
所以,问题是:在软件中可以“模拟”GPIO引脚输入变高吗?这将使编写代码更容易,我正在考虑手动切换GPIO的IDR寄存器中的位,但它是只读的。BSRR寄存器仅影响输出。有没有办法实现这个目标?
ST应该将用户按钮放在具有更多功能的不同引脚上......
谢谢!
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
dfasda
1楼-- · 2019-07-14 23:52
为什么你认为一个引脚需要一个定时器AFIO与一个按钮一起使用?
加载中...
法规处发
2楼-- · 2019-07-15 00:49
精彩回答 2 元偷偷看……
加载中...
fhdgxfvx
3楼-- · 2019-07-15 01:11
反过来说,引脚需要一些输入信号用作例如定时器触发器。让我们假设我想要一个计时器,开始计算上升沿ETR。当硬件尚未存在时,我该如何测试呢?
加载中...
jfdgs
4楼-- · 2019-07-15 03:05
只要引脚没有连接到它,并且它是一个输入引脚,设置相应的位GPIOx_PUPDR将激活上拉或下拉电阻,直接影响引脚状态。它不仅会模拟引脚变高或变低,而且电压实际上会出现在引脚上。电流可能太弱而无法驱动其他任何东西,但引脚状态会发生变化。即使引脚具有备用输入功能(例如外部触发器或定时器的捕获输入),它也应该工作。
例如,将PA12(TIM1外部触发)设置为高
GPIOA->PUPDR=(GPIOA->PUPDR & ~(3 << (2 * 12))) | (1 << 2 * 12);
将相同引脚设置为低电平
GPIOA->PUPDR=(GPIOA->PUPDR & ~(3 << (2 * 12))) | (2 << 2 * 12);
加载中...
tiantian55
5楼-- · 2019-07-15 08:03
您可以创建不同的执行环境。例如,在您的电脑上运行该软件,或创建模拟对象和外围设备并在目标上运行。
这是部分软件测试,例如测试驱动开发。
实用:
在任何嵌入式平台上,寄存器都在头文件中定义。对于ST,这些是定义并映射到外围设备的结构stm32f0xx.h。您可以为测试环境创建修改的头文件,其中这些结构不映射到外围设备,而是映射到内存。这样,您可以通过您可以编写的测试来模拟所有内容。
加载中...
lingjianghui
6楼-- · 2019-07-15 10:06
我不认为这是测试定时器外设如何对输入变化做出反应的有效方法。你必须模拟外围设备的所有行为
加载中...
1
2
下一页
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
STM32开发板免费用活动
7 个回答
stm32 处理 DHT11占用太多时间,大家程序是怎么设计的
8 个回答
分享一个STM32单片机做的离线编程器代码
9 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
例如,将PA12(TIM1外部触发)设置为高
GPIOA->PUPDR=(GPIOA->PUPDR & ~(3 << (2 * 12))) | (1 << 2 * 12);
将相同引脚设置为低电平
GPIOA->PUPDR=(GPIOA->PUPDR & ~(3 << (2 * 12))) | (2 << 2 * 12);
这是部分软件测试,例如测试驱动开发。
实用:
在任何嵌入式平台上,寄存器都在头文件中定义。对于ST,这些是定义并映射到外围设备的结构stm32f0xx.h。您可以为测试环境创建修改的头文件,其中这些结构不映射到外围设备,而是映射到内存。这样,您可以通过您可以编写的测试来模拟所有内容。
一周热门 更多>