stm32f103c8t6例程 timer3部分重映射是哪个引脚

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
《STM32F103C8T6资料》.pdf105页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
文档加载中...广告还剩秒
需要金币:200 &&
你可能关注的文档:
··········
··········
STM32F103x8 STM32F103xB Medium-density performance line ARM-based 32-bit MCU with 64 or 128 KB Flash, USB, CAN, 7 timers, 2 ADCs, 9 com. interfaces Datasheet - production data
? ARM 32-bit Cortex?-M3 CPU Core C
72 MHz maximum frequency, VFQFPN36 6 × 6 mm
UFQFPN48 7 × 7 mm 1.25 DMIPS/MHz
Dhrystone 2.1 performance at 0 wait state memory access C
Single-cycle multiplication and hardware BGA100 10 × 10 mm LQFP100 14 × 14 mm division UFBGA100 7 x 7 mm LQFP64 10 × 10 mm BGA64 5 × 5 mm LQFP48 7 × 7 mm
? Memories C
64 or 128 Kbytes of Flash memory ? Debug mode C
20 Kbytes of SRAM C
Serial wire debug
& JTAG interfaces
? Clock, reset and supply management ? 7 timers C
2.0 to 3.6 V application supply and I/Os C
POR, PDR, and programmable voltage C
Three 16-bit timers, each with up to 4 detector
PVD IC/OC/PWM or pulse counter and quadrature
incremental
encoder input C
4-to-16 MHz crystal oscillator C
16-bit, motor control PWM timer with dead- C
Internal 8 MHz factory-trimmed RC time generation and emergency stop C
Internal 40 kHz RC C
2 watchdog timers
Independent and C
PLL for CPU clock Window C
32 kHz oscillator for RTC with calibration C
SysTick timer 24-bit downcounter
? Low power ? Up to 9 communication interfaces C
Sleep, Stop and Standby modes C
Up to 2 x I2C interfaces
SMBus/PMBus C
VBAT supply for RTC and backup registers C
Up to 3 USARTs
ISO 7816 interface, LIN,
? 2 x 12-bit, 1 μs A/D converters
up to 16 IrDA capability, modem control channels C
Up to 2 SPIs
18 Mbit/s C
Conversion range: 0 to 3.6 V C
CAN interface
2.0B Active C
Dual-sample and hold capability C
USB 2.0 full-speed interface C
Temperature sensor ? CRC calculation unit, 96-bit unique ID
? DMA ? ? Packages are ECOPACK C
7-channel DMA controller C
Peripherals supported: timers, ADC, SPIs, Table 1. Device summary I2Cs and USARTs Reference Part number
? Up to 80 fast I/O ports STM32F103C8, STM32F103R8 STM3
正在加载中,请稍后...21ic官方微信-->
后使用快捷导航没有帐号?
查看: 2827|回复: 4
stm32f103vet6的USART3重映射
&&已结帖(20)
主题帖子积分
高级技术员, 积分 772, 距离下一级还需 228 积分
高级技术员, 积分 772, 距离下一级还需 228 积分
主题帖子积分
专家等级:结帖率:82%
主题帖子积分
高级技术员, 积分 772, 距离下一级还需 228 积分
高级技术员, 积分 772, 距离下一级还需 228 积分
请问一下,我想把USART3重新映射到PC11,PC10引脚上,用下面的语句配置不成功,有什么问题呢?谢谢!
& && & RCC-&APB2ENR|=1&&0;& &//使能AFIO 时钟 ,以操作AFIO_MAPR寄存器
& & & & RCC-&APB2ENR|=1&&4;& &//使能PORTC口时钟& &
& & & & AFIO-&MAPR|=0x; //开启uart3重映射
& & & & GPIOC-&CRH&=0XFFFF00FF; //重映射后的引脚配置PC11 RX3; PC10 TX3;
& & & & GPIOC-&CRH|=0X00008B00; //IO状态设置
& & & & RCC-&APB1ENR|=1&&18;&&//使能串口3时钟&&,APB1总线频率36MHz
& & & & RCC-&APB1RSTR|=1&&18;& &//复位串口3
& & & & RCC-&APB1RSTR&=~(1&&18);//停止复位& & & && & & & & && &
& & & & //波特率设置
& & & & USART3-&BRR= // 波特率设置& & & &&&
& & & & USART3-&CR1|=0X200C;&&//1位停止,无校验位.
满意回复+20
这个不是很了解
我帮你顶一个
希望有玩过的兄弟
能够帮帮忙
业余问题记录
个人微信公号:磨电小坊、EWS-DIY
主题帖子积分
高级技术员, 积分 772, 距离下一级还需 228 积分
高级技术员, 积分 772, 距离下一级还需 228 积分
主题帖子积分
专家等级:结帖率:82%
主题帖子积分
高级技术员, 积分 772, 距离下一级还需 228 积分
高级技术员, 积分 772, 距离下一级还需 228 积分
PC11,PC10引脚原来是做UART4使用的,实验可以用。可是我想把串口3重映射到pc11,pc10引脚就不成功了。
业余问题记录
个人微信公号:磨电小坊、EWS-DIY
主题帖子积分
高级工程师, 积分 7950, 距离下一级还需 50 积分
高级工程师, 积分 7950, 距离下一级还需 50 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
高级工程师, 积分 7950, 距离下一级还需 50 积分
高级工程师, 积分 7950, 距离下一级还需 50 积分
这个不是很了解& &兄弟&&对不住啊&&我帮你顶一个& &希望有玩过的兄弟&&能够帮帮忙& &呵呵&&顶起来
主题帖子积分
高级技术员, 积分 772, 距离下一级还需 228 积分
高级技术员, 积分 772, 距离下一级还需 228 积分
主题帖子积分
专家等级:结帖率:82%
主题帖子积分
高级技术员, 积分 772, 距离下一级还需 228 积分
高级技术员, 积分 772, 距离下一级还需 228 积分
cjhk 发表于
这个不是很了解& &兄弟&&对不住啊&&我帮你顶一个& &希望有玩过的兄弟&&能够帮帮忙& &呵呵&&顶起来&&...
:)谢谢!我也刚开始学这个。
业余问题记录
个人微信公号:磨电小坊、EWS-DIY
主题帖子积分
高级技术员, 积分 772, 距离下一级还需 228 积分
高级技术员, 积分 772, 距离下一级还需 228 积分
主题帖子积分
专家等级:结帖率:82%
主题帖子积分
高级技术员, 积分 772, 距离下一级还需 228 积分
高级技术员, 积分 772, 距离下一级还需 228 积分
本帖最后由 cpl_1 于
16:49 编辑
//& && &&&AFIO-&MAPR=1&&4;& &//重映射语句放在时钟开启前不行
//& && &&&RCC-&APB2ENR|=1&&0;& &//使能AFIO 时钟 ,以操作AFIO_MAPR寄存器
//& && &&&AFIO-&MAPR=1&&4; //开启USART3部分重新映射
//& && &&&RCC-&APB2ENR|=1&&4;& &//使能PORTC口时钟
//& && &&&RCC-&APB1ENR|=1&&18;&&//使能串口3时钟&&,APB1总线频率36MHz
//& && &&&RCC-&APB2ENR|=1&&0;& &//使能AFIO 时钟 ,以操作AFIO_MAPR寄存器
//& && &&&RCC-&APB2ENR|=1&&4;& &//使能PORTC口时钟
//& && &&&AFIO-&MAPR=1&&4; //开启USART3部分重新映射
//& && &&&RCC-&APB1ENR|=1&&18;&&//使能串口3时钟&&,APB1总线频率36MHz
& && &&&RCC-&APB2ENR|=1&&0;& &//使能AFIO 时钟 ,以操作AFIO_MAPR寄存器
& && &&&RCC-&APB2ENR|=1&&4;& &//使能PORTC口时钟
& && &&&RCC-&APB1ENR|=1&&18;&&//使能串口3时钟&&,APB1总线频率36MHz
& && &&&AFIO-&MAPR=1&&4; //开启USART3部分重新映射
& && &&&GPIOC-&CRH&=0XFFFF00FF;& &
& && &&&GPIOC-&CRH|=0X00008B00;//IO状态设置
//& && &&&AFIO-&MAPR=1&&4; //开启USART3部分重新映射
//& && &&&RCC-&APB1ENR|=1&&18;&&//使能串口3时钟&&,APB1总线频率36MHz& && && & OK
& && &&&RCC-&APB1RSTR|=1&&18;& &//复位串口3
& && &&&RCC-&APB1RSTR&=~(1&&18);//停止复位& && && && && && && &
& && &&&//波特率设置
& && && &USART3-&BRR= // 波特率设置& && && &
& && &&&USART3-&CR1|=0X200C;&&//1位停止,无校验位. 使能串口
今天才发现原因,原来由于粗心,USART3重新映射时没有把UART4-&DR改成USART3-&DR,所以数据发送不出去。不过发现AFIO-&MAPR=1&&4; 语句放在GPIOC引脚端口配置语句的前或后面都能重映射成功;也可以放在PORTC时钟开启对前面,就像上面注释掉的语句那样。不过实验时只单独针对USART3,没有加上其它的功能和同时映射多个设备。
业余问题记录
个人微信公号:磨电小坊、EWS-DIY
涓涓之细流
发帖类勋章
时间类勋章
技术新星奖章
人才类勋章
技术奇才奖章
人才类勋章
奔腾之江水
发帖类勋章
无冕之王奖章
等级类勋章
时间类勋章下面跟大家说一下STM32单片机的端口重映射,因为是以自己为实例.这里是以USART1的重映射为例..
&&&&&&&&因为我要一个TFT_LCD屏的主控板,考虑到FSMC 我选用了STM32F103VCT6 型号的CPU,一不小心串口接到USART1上了.因为在调程序时才发现错了,没得办法,只能通过端口重映射来解决.但是以前没用过端口重映射,只闻其名,未用其身,所以..呵呵 ...只能从头去看了.
&&&&&&&&&STM32上有很多I/O口,也有很多的内置外设想I2C,ADC,ISP,USART等,为了节省引出管脚,这些内置外设基本上是与I/O口共用管脚的,也就是I/O管脚的复用功能。但是STM32还有一特别之处就是:很多复用内置的外设的I/O引脚可以通过重映射功能,从不同的I/O管脚引出,即复用功能的引脚是可通过程序改变的.读到这里相信大家都应该了解了端口重映射的一些概念了.原理上的东西不细说了,大家可以看手册或者网上查,这方面的资料还是很多的.下面说说我的调试经历.
&&&&&&& 不知道是什么原因 PCB制图时把串口接到USART1上了,当时也没在意,等我把USART测试程序写好烧进去硬件仿真时,串口给的是乱码,我当时就觉得奇怪.把程序检查了好几遍就是查不出问题来,以为是硬件有问题,但突然想到了STM有复用功能,心想会不会是这里有鬼?于是找来datasheet 一看 ,真相大白
三个红框交汇处.STM32F103VCT6 这个CPU的USART1接的是PB6/PB7 但是上电初始化后默认功能并非是USART1.所以想要用串口功能 .必须用端口重映射..
&&&大家知道,STM32的单片机每个功能模块有自己的时钟系统,所以要想要调用STM32单片机的功能模块时 必须先配置对应时钟,然后才能去操作相应的功能模块.端口重映射也一样.如图示:
重映射步骤为:
1.打开重映射时钟和USART重映射后的I/O口引脚时钟,&
&&&&&&&&&&RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE);
2.I/O口重映射开启.
&&&&&&&&&&&&&&&&&&&GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);
3.配制重映射引脚,&这里只需配置重映射后的I/O,原来的不需要去配置.
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&GPIO_Init(GPIOB, &GPIO_InitStructure);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&GPIO_Init(GPIOB,&GPIO_InitStructure);
&&&&&&只需要这三步,串口就可以正常使用了,简单吧?& 但是我纠结了大半个小时才搞定的,好多事情都是说起来容易做起来难的,希望我以后多多进步.不要眼高手低,嗯我正朝这个方向前进.
最后总结一下:
简单的说 STM32的 io 有3个功能一个是默认的 一个是复用 一个是重映射功能(这个其实也属于复用)
如果配置成复用 则将使用第2个功能 如果配置成复用 同时 相应的重映射配置了 则将使用第3个功能
通常一个口的 复用+重映射有好多 不止两个 这时候就看你使能哪个设备了(哪个被使能就用哪个)&
开复用 + 使能设备+ 是否重映射就可以决定这个io口到底使用哪个功能
阅读(...) 评论()}

我要回帖

更多关于 stm32f103c8t6 adc 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信