打印

关于STM32F103的GPIO等几个问题

[复制链接]
7500|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wilkes|  楼主 | 2010-3-1 09:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近开始搞stm32开发项目,有几个问题想请教一下:
  1.GPIO的设置,输入和输出怎么切换啊?比如在做模拟I2C时,SDA脚作为数据口,有输入也有输出的时候,怎么切换的,我网上看了一个stm32的例程,好像没有切换输入输出模式,直接用GPIOB->IDR来得到输入值,这样可以吗?
2.stm32初始化部分程序要注意些什么问题呢? 另外各位一般是用lib库函数还是别的方法进行GPIO、RCC、ADC、USART等的设置呢?
3.ADC的用法,怎么用最合理?我现在做三相电压和电流交流采样,并且用到内部测温传感器。
沙发
yytdragon| | 2010-3-1 10:02 | 只看该作者
1、如果你仔细看了他的库函数的使用,就知道IO口的配置可以选为输入或输出
2、注意什么问题,看例程就好了,实在找不到例程的话,可以装个IAR什么的,里面有EXAMPLE
3、不解。。。何为怎么用最合理,看具体需求,精度,速度都是需要考虑的地方

使用特权

评论回复
板凳
ST_ARM| | 2010-3-1 10:10 | 只看该作者
1.GPIO的设置,输入和输出怎么切换啊?比如在做模拟I2C时,SDA脚作为数据口,有输入也有输出的时候,怎么切换的,我网上看了一个stm32的例程,好像没有切换输入输出模式,直接用GPIOB->IDR来得到输入值,这样可以吗?

答:用户在应用中,如果需要使用一个GPIO既要用作输入也要用作输出的,可以将该引脚配置为Output-OpenDrain,同时在引脚上连接一个上拉电阻,用户在使用中即可将它用作(准)双向输入输出口。
    输出时: GPIOx->OIDR =输出值;
    输入时: 变量 = GPIOx->IDR;

2.stm32初始化部分程序要注意些什么问题呢? 另外各位一般是用lib库函数还是别的方法进行GPIO、RCC、ADC、USART等的设置呢?

答:stm32初始化部分程序要注意是使能相应的外设的时钟,尤其要注意使能相应的GPIO的时钟,有些功能要使能AFIO的时钟。通常的配置应按照软件库例程的方法配置,但是NVIC的初始化最好在所有的外设初始化完毕后在进行。

3.ADC的用法,怎么用最合理?我现在做三相电压和电流交流采样,并且用到内部测温传感器。

答:关于ADC的用法,如何最合理?这个问题要根据你的实际应用来设定,不同的应用,其使用的合理流程是不一样的,就是三相电压和电流交流的采样,不同的产品上也会不一样。

使用特权

评论回复
地板
peng_can| | 2010-3-12 13:57 | 只看该作者
楼上说得好明白

使用特权

评论回复
5
zwll| | 2010-3-12 20:41 | 只看该作者
简直太详细了

使用特权

评论回复
6
HonMe| | 2010-3-14 11:10 | 只看该作者

使用特权

评论回复
7
gxgclg| | 2010-3-14 19:48 | 只看该作者
NVIC的初始化为什么要在所有外设初始化完毕后再进行呢

使用特权

评论回复
8
ade2010| | 2010-3-15 12:50 | 只看该作者
顶一下

使用特权

评论回复
9
whf2009| | 2011-9-17 10:27 | 只看该作者
顶一下

使用特权

评论回复
10
lyy8611| | 2011-9-17 20:25 | 只看该作者
不错讲的很好啊

使用特权

评论回复
11
suse-lj| | 2011-9-17 22:10 | 只看该作者
跟7楼 问题一样

使用特权

评论回复
12
ul_shilaike| | 2011-9-18 00:47 | 只看该作者
俺也来顶一下。。。的确说得很清楚了。。。上面讲的是最好是在所有外设都初始化OK到再初始化NVIC,而不是一定要将NVIC做在最后嘛。。至于为什么最好,就要请教上面的老师了。。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

64

主题

147

帖子

0

粉丝