历史上的今天
今天是:2025年06月15日(星期日)
2018年06月15日 | STM32F10系列的管脚复用功能和AFIO
2018-06-15 来源:eefocus
最近用stm32的spi接口和ti的cc3000通信,首先配置spi接口,按照网络关于spi接口的配置例程配置好以后,发现spi不工作,用while循环发送数据时,clk和mosi管脚没有输出信号,然后各种找问题:首先检查时钟,然后看看各个管脚能不能被置位,复位,发现其GPIO功能都是正常的。后来认真看手册,找出了原因,就是管脚的复用功能没有注意。仅仅看人家的历程,不理解为何这么做是行不通的。
spi的配置下,要开启GPIO口的时钟,外设spi的时钟,例如spi1的话:RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1 |RCC_APB2Periph_GPIOA,ENABLE);
由于spi功能是gpio的一个复用功能,所以在定义管脚时,要选择复用模式的下的输入输出模式。一般情况下的IO口在复位后变成默认的GPIO功能,其复用的功能要对它进行配置才能工作,如stm32f10xx系列的PA5其复位以后是普通IO口,其复用功能才是spi口clk管脚,所以在配置PA5为clk管脚时要选择复用下的模式,就是GPIO_Mode_AF_PP和GPIO_Mode_AF_OD中的一种。不能选择其它的输出模式。这一点在数据手册中也有相关的说明。当时就是没有注意这个细节,浪费了3个小时的时间。
查阅了一些资料,对管脚复用和管脚映射方面的概念做一下总结。管脚复用和管脚映射都是为了实现stm32外设功能而提出的概念,将默认的实现外设功能的引脚用其它可选的引脚来实现外设功能较管脚映射。管脚映射时要开启AFIO时钟,在下面的三种情况下要开启AFIO时钟:管脚重映射、外部中断EXTI、事件。要使用复用功能时,要开启外设(相对于m3内核而言st自己加入的外设,如spi接口,iis接口,ad等)的GPIO口时钟,同时开启外设的时钟,输出管脚选择GPIO_Mode_AF_PP和GPIO_Mode_AF_OD中的一种,使能外设模块。
史海拾趣
|
兄弟们,有没有发现,我们的版块在竞赛时期是非常活跃的版块之一,可是,不是竞赛时期,我们这里却有点冷清了。我们要在非竞赛时期加强讨论!我们的版块不仅仅是“资料下载站”,我们这里更应该是一个“学术交流地”!刚刚结束比赛的朋友们可以说一 ...… 查看全部问答> |
|
在MDK环境,从上电启动运行到MAIN()之间都干了些什么? 看反汇编,好像有一些初始化RAM,设置堆栈,和中断向量. 请香版主详细解释一下,或者参考那些资料; 另,怎么指定堆栈的位置?… 查看全部问答> |
|
本文补充了4200-SCS[1]应用手册第四章节脉冲IV部分信息。双击4200桌面上的Complete Reference图标得到所有4200的文档。通常而言,4200-PIV[2]给门极施加一个脉冲,同时直流偏置漏极。源和本体均连接到地线/屏蔽层上。双通道示波器(4200-SCP2)测 ...… 查看全部问答> |
|
我这两天忙着修硬盘。硬盘不幸暴亡。修了两三天。最终我还是买了块新的。 本来这程序是在坏硬盘上的。好在我考出来了。 我上次笔记是在屏幕上任意位置显示点。其实我是有用义的。我这次是接着上次在屏上显示AD转换值。 由于屏幕的限制只能显示六 ...… 查看全部问答> |
|
Sitara ARM Cortex-A8 Processor, AM3354 at 720 MHz On-board memory256 MB RAM DDR31 Gigabyte Nand Flash Connectivity and expandabilityUSB Host PortUSB Device PortRJ-45 Ethernet PortConnector for optional 1 GB Ethernet PortPort fo ...… 查看全部问答> |




