STM32的功能引脚重映射和复用功能

摘要: STM32中有很多内置外设的输入输出引脚都具有重映射(remap)的功能,本文对一些在使用引脚重映射时所遇到的有关问题加以说明。我们知道每个内置外设都有若干个输入输出引脚,一般这些引脚的输出脚位都是固定不变的,为了让设计工程师可以更好地安排引脚的走向和功能,在STM32中引入了外设引脚重映射的概念,即一个外设的引脚除了具有默认的脚位外,还可以通过设置重映射寄存器的方式,把这个外设的引脚映射到其它的脚位。下面是STM32F103xC中有关USART3引脚的摘要片段;从这里可以看出,USART3_TX的默认引出脚是PB10,USART3_RX的默认引出脚是PB11;但经过重映射后,可以变更USAR 阅读全文
posted @ 2012-05-23 10:08 rdyzju 阅读(5662) 评论(0) 推荐(0)

STM32 管脚重定义

摘要: 最近在学习STM32,在BZ上一篇关于的串口通信文章里有这么一段代码:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO,ENABLE);当初是参考开发的里子写的一直对GPIOD或上“RCC_APB2Periph_AFIO”这句话的意思没搞懂,通过这几天在网上查找资料和看手册,终于高清楚了,不敢独享,希望能对跟我一样的新手有所帮助吧o(∩_∩)o...STM32上有很多I/O口,也有很多的内置外设想I2C,ADC,ISP,USART等 ,为了节省引出管脚,这些内置外设基本上是与I/O口共用管脚的,也就是I/O管脚的 阅读全文
posted @ 2012-05-23 09:41 rdyzju 阅读(11075) 评论(0) 推荐(1)

STM32系列单片机GPIO资料收集及总结

摘要: 一、GPIO配置(1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出(6)GPIO_Mode_Out_PP 推挽输出(7)GPIO_Mode_AF_OD 复用开漏输出 (8)GPIO_Mode_AF_PP 复用推挽输出GPIO_Speed_10MHz 最高输出速率10MHz GPIO_Speed_2MHz 最高输出速率2MHz GPIO_Speed_50MHz 最高输出速率50MHz1.1 I/O口的输出模式下 阅读全文
posted @ 2012-05-22 17:26 rdyzju 阅读(1650) 评论(0) 推荐(0)

stm32 IO口复用设置

摘要: 关于IO用作复用功能时的时钟设置近来碰到很多客户在使用STM32的外设时,由于IO口被用作复用功能,但是外设的初始化正确,GPIO口初始化正确,外设的时钟也已开启,但是外设无法正常运行。 其中最关键的一项,大多数使用者多没有设置,就是某个IO口被用作外设的接口时,需要开启IO口的复用功能的时钟,即进行外设、IO的时钟使能时,需要如下代码 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx | RCC_APB2Periph_AFIO, ENABLE); /* GPIOx and AFIO clock enable */ x --- 为对应的GPIO口,如:A、 阅读全文
posted @ 2012-05-22 16:46 rdyzju 阅读(4774) 评论(0) 推荐(0)

关于stm32启动文件的选择

摘要: 关于stm32启动文件的选择1推荐- startup_stm32f10x_ld_vl.s: for STM32 Low density Value line devices - startup_stm32f10x_ld.s: for STM32 Low density devices - startup_stm32f10x_md_vl.s: for STM32 Medium density Value line devices - startup_stm32f10x_md.s: for STM32 Medium density devices - startup_stm32f10x_hd.s: 阅读全文
posted @ 2012-05-22 11:00 rdyzju 阅读(2036) 评论(0) 推荐(0)

2440中断寄存器详解

摘要: S3C2440的中断寄存器:1.中断分两大类:内部中断和外部中断。2.外部中断。24个外部中断占用GPF0-GPF7(EINT0-EINT7),GPG0-GPG15(EINT8-EINT23)。用这些脚做中断输入,则必须配置引脚为中断,并且不要上拉。具体参考datesheet数据手册。寄存器:EXTINT0-EXTINT2:三个寄存器设定EINT0-EINT23的触发方式。 EINTFLT0-EINTFLT3:控制滤波时钟和滤波宽度。 EINTPEND:这个是中断挂起寄存器,清除时要写1,后面还有几个是写1清除。当一个外部中断(EINT4-EINT23)发生后,那么相应... 阅读全文
posted @ 2012-04-11 16:33 rdyzju 阅读(255) 评论(0) 推荐(0)

mini2440 串口设置

摘要: 在这里有必要先了解一下底层串口的知识,在这里用到的关于串口的分别是:termios,tcgetattr,tcsetattr,tcsendbreak,tcdrain,tcflush,tcflow,cfmakeraw,cfgetospeed,cfgetispeed,cfsetispeed,cfsetospeed。分别对其进行分析:其原型为:int tcgetattr(int fd, struct termios *termios_p);int tcsetattr(int fd, int optional_actions, struct termios *termios_p);int tcsendb 阅读全文
posted @ 2012-03-21 10:20 rdyzju 阅读(967) 评论(0) 推荐(0)

mini2440 系统下串口程序

摘要: #include <stdio.h>#include <stdlib.h>#include <termio.h>#include <unistd.h>#include <fcntl.h>#include <getopt.h>#include <time.h>#include <errno.h>#include <string.h>#define FALSE -1#define TRUE 1int speed_arr[] = { B38400, B19200, B9600, B4800, 阅读全文
posted @ 2012-03-21 10:02 rdyzju 阅读(992) 评论(0) 推荐(0)