STM32F103中似乎有很多个IO口,GPIOC/D/E怎么用?

2019-08-14 17:39发布

STM32F103中似乎有很多个IO口,GPIOC/D/E怎么用? 宏定义上这些口是真实存在的,我想知道有什么用??也是可以存储数据嘛??怎么用??
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
26条回答
q247341184
1楼-- · 2019-08-16 21:31
l6931639 发表于 2017-8-4 09:14
新手请先了解一下c语言教程

好吧,是我把问题复杂化了。
虾兵蟹将
2楼-- · 2019-08-16 22:43
q247341184 发表于 2017-8-3 17:06
对了,我说的修改值,不是在#define这改了,肯定是在主程序中赋值那样的,比如读取IO口的值去赋值给a。。 ...

例如temp = GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7),这个函数就是读取PB7管脚的输入,并将其赋值给temp变量,IO口的那些寄存器都是用来配置IO口的模式的,不能拿来保存你的变量值的,你直接像平时用C语言一样,使用一个变量保存数值就行了,我不明白你所指的“用一个寄存器来专门存储a的值”是什么意思
q247341184
3楼-- · 2019-08-17 03:55
虾兵蟹将 发表于 2017-8-4 09:25
例如temp = GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7),这个函数就是读取PB7管脚的输入,并将其赋值给tem ...

我能理解你的意思,你刚才问我的用一个寄存器来专门存储a的值的意思我不太说得清,举个例子说:C语言中不是有指针嘛?假设我定义指针型变量a,a直接指向的是一个地址。然后我想用这一块地址空间只存储a的值,大概是这么个思路。不过我认为你说的是有道理的,如果没有进一步的话,我打算试一下你说的这个方法。。嘿嘿!
q247341184
4楼-- · 2019-08-17 05:51
为了避免后续再有新手有相似的问题看到此贴后仍有疑问,我个人再总结一下,如有不对,望各位指出。

首先,提出的问题是IO口怎么用,但是实际目的解决的是如何设置一片区域(此处用区域来形容是因为一开始希望可以设置寄存器)去存储某个变量的值,并且实现由系统可以进行设定而不是通过JLINK等方式进行下载设定。

我个人的理解是这样的,通过设置变量,然后读取IO口的值存储到变量上以实现,这样可以通过设定IO口的值来修改变量。

后续疑问就是,用定义变量来解决这个问题的话,这个变量值是存储在flash?还是sram?还有就是如果断电了会不会数据丢失?如果会,可不可以通过一个超大电容来缓解这个情况??

最后我要埋汰一下原子哥。老哥我还想继续讨论啊,怎么也要等我发个总结贴吧?两天没带电脑就匆匆设完结了真的好吗???@正点原子
cromarti
5楼-- · 2019-08-17 07:31
 精彩回答 2  元偷偷看……
cromarti
6楼-- · 2019-08-17 12:30
你这个情况就是用一个普通的全局变量来存就行,io口本来就是输入输出用的,读一个数据给变量的方法太多。这些变量是断电丢失的,如果想保存的话要么放到后备区域用电池保存要么用eeprom/flash这些保存

一周热门 更多>