stm8iostm8s003f3.h怎么设置io复用功能

STM8的IO口的使用_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
STM8的IO口的使用
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢查看: 2743|回复: 6
关于IO口复用,请指教!谢谢
主题帖子精华
初级会员, 积分 83, 距离下一级还需 117 积分
在线时间3 小时
1、在战舰上,用TIM4做PWM输出,remap到PD12和PD13;
2、PD12和PD13又可以作为FSMC_A17和FSMC_A18;
3、LCD的RS用FSMC_A10;
如果对这两个IO口开了复用功能,PWM输出和FSMC控制LCD会不会有冲突?
目前单独输出PWM正常,单独显示LCD也正常,但是如果同时运行,会跳进HARDFAULT中断。
请问除了换脚位,还有没有其他可以避让的方法?
主题帖子精华
中级会员, 积分 234, 距离下一级还需 266 积分
在线时间0 小时
回复【楼主位】yxz1212_bao:
---------------------------------
你要同时在两个引脚上实现不同的功能?&
貌似没听过&
要是反复的复用还有可能实现吧
主题帖子精华
初级会员, 积分 83, 距离下一级还需 117 积分
在线时间3 小时
回复【2楼】asdbhk:
---------------------------------
我只想用这两个口做PWM输出,用FSMC控制LCD只用FSMC_A10做RS,跟这两个口无关
但是用FSMC控制LCD貌似会影响到这两个口
主题帖子精华
在线时间310 小时
回复【楼主位】yxz1212_bao:
---------------------------------
会冲突的,这个一定要注意。
不能1个IO,同时做2个复用!!
早期的战舰版设计,我就碰到这个问题了,其中一次改版,就是因为这个原因。
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子
主题帖子精华
初级会员, 积分 83, 距离下一级还需 117 积分
在线时间3 小时
回复【4楼】正点原子:
---------------------------------
谢谢,看来只能换脚位了
主题帖子精华
中级会员, 积分 207, 距离下一级还需 293 积分
在线时间19 小时
回复【4楼】正点原子:
---------------------------------
问个问题&一个IO口配置成复用模式,两种外设在一个端口上都是复用&如果两个外设都打开&会怎么样?
主题帖子精华
在线时间310 小时
回复【6楼】科大小青年:
---------------------------------
会冲突,可能有一个无法使用。
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子
Powered bystm8、或stm32中端口复用功能开启后,直接操作GPIO口,电平还能改吗?_百度知道
stm8、或stm32中端口复用功能开启后,直接操作GPIO口,电平还能改吗?
直接GPIO设置高低电平也是可以的?,一旦刹车开启。那判断GPIO口是复用功能还是普通口,设置占空比。但是刹车未开时,就会有相应的输出,真正的外部输出入题所述?不是靠TIM1外设模块的使能(***_cmd)函数吗,像TIM1中PWM输出功能,是以什么为标准的呢?还是用刹车
我有更好的答案
关注这个问题
我也没弄懂这个问题,求教
其他类似问题
为您推荐:
端口复用的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁后使用快捷导航没有帐号?
查看: 9768|回复: 8
关于STM32的GPIO复用功能
在线时间17 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 40, 距离下一级还需 160 积分
一粒金砂(中级), 积分 40, 距离下一级还需 160 积分
一直没有明白STM32的GPIO复用功能,向大家请教一下。下图是STM32F103的PIN定义。个人理解如下:上图中关于PIN的功能标识有三类:1、主功能(复位后的功能)2、复用默认(默认复用功能)3、复用重映射(Remap)以PB0为例,其主功能为PB0,即为普通的GPIO使用。其复用默认功能有 ADC12_IN8,TIM3_CH3, TIM8_CH2N复用重映射功能为 TIM1_CH2N疑问如下:1、假如我要使用其功能为普通GPIO,此时如果我启动了ADC1和ADC2(时钟使能),但是没有使用ADC1和ADC2的通道8。此时可以作为普通的GPIO吗。2、假绍我要使用其复用的ADC12_IN8,但在此同时,我使用了TIM3,但是没有使用TIM3的CH3输入输出功能,此时有无问题3、假如使用重映射,是否使能AFIO时钟后使用RemapConfig就行了以上,希望热心同志解释下。最好能针对性的给出代码了。谢谢。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
&&&&&&&&&&
在线时间17 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 40, 距离下一级还需 160 积分
一粒金砂(中级), 积分 40, 距离下一级还需 160 积分
个人对问题1的理解如下:
如果要使用该GPIO为普通端口
配置时不要配置成AF功能的IO即可
& & & & GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
& & & & GPIO_InitStructure.GPIO_Mode =&&GPIO_Mode_IN_FLOATING;
typedef enum
{ GPIO_Mode_AIN = 0x0,
&&GPIO_Mode_IN_FLOATING = 0x04,
&&GPIO_Mode_IPD = 0x28,
&&GPIO_Mode_IPU = 0x48,
&&GPIO_Mode_Out_OD = 0x14,
&&GPIO_Mode_Out_PP = 0x10,
&&GPIO_Mode_AF_OD = 0x1C,
&&GPIO_Mode_AF_PP = 0x18
}GPIOMode_TypeD
但是此时如果我使能了ADC1和TIM3,会是什么情况呢?
在线时间17 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 40, 距离下一级还需 160 积分
一粒金砂(中级), 积分 40, 距离下一级还需 160 积分
对于问题2,要使用复用默认功能
是否是使能相应的外围时钟,并将引脚配置成相应的模式即可?
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
& && &&&GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 ;
& & & & GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
& & & & GPIO_Init(GPIOC, &GPIO_InitStructure);
这样是否就是将该端口作为了ADC的输入呢。
但如果我同时使能了TIM3的时钟,但是没有用到TIM3的输入输出功能,此端口有什么影响呢。
在线时间17 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 40, 距离下一级还需 160 积分
一粒金砂(中级), 积分 40, 距离下一级还需 160 积分
对于问题3。
是否是在使能相应的时钟后,执行以下语句完成呢。
GPIO_PinRemapConfig(GPIO_FullRemap_TIM1, ENABLE);
在线时间1247 小时
威望6085 分
芯币18473 枚
E金币300 枚
TA的帖子TA的资源
回复 沙发 LinkHu 的帖子
使能tim没问题,只要不用对应的ch3就行
AD也一样,不用这个通道就可以
在线时间1247 小时
威望6085 分
芯币18473 枚
E金币300 枚
TA的帖子TA的资源
回复 板凳 LinkHu 的帖子
设备初始化和io初始化是两部分,ad也好tim也好都是两部分,用哪个通道就配置哪个io
在线时间1247 小时
威望6085 分
芯币18473 枚
E金币300 枚
TA的帖子TA的资源
回复 4楼 LinkHu 的帖子
FullRemap表示重映射所有端口,这时你的io应当按tim1的配置。
在线时间1247 小时
威望6085 分
芯币18473 枚
E金币300 枚
TA的帖子TA的资源
你先想好了这个脚做什么,然后再写初始化程序,只能做一个用除非你愿意切来切去的。
在线时间17 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 40, 距离下一级还需 160 积分
一粒金砂(中级), 积分 40, 距离下一级还需 160 积分
回复 5楼 huo_hu 的帖子
如果使能ADC和TIM都没有问题
也就是说,复用功能不是在时钟这一块进行设置与配置的
而是在使用端口时进行的选择。好像这样的设置不合理呀。
我从手册上没有看到对应的详细解释,有没有大大们可以给出详细出处。
在M4中,其对此有修正
& & & & //TIM3 CH1 复用端口 PA6
& & & & GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; & & & & & & & & & & & & & & & & //选择需初始化管脚
& & & & GPIO_Init(GPIOA, &GPIO_InitStructure);
& & & & GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_TIM3);
其可以指定引脚复用源的。
Powered by
逛了这许久,何不进去瞧瞧?STM32F030 SPI配置IO口复用功能 - STM32 - 意法半导体STM32/STM8技术社区
后使用快捷导航没有帐号?
查看: 6628|回复: 9
STM32F030 SPI配置IO口复用功能
主题帖子威望
新手上路, 积分 5, 距离下一级还需 45 积分
新手上路, 积分 5, 距离下一级还需 45 积分
配置SPI功能,一旦配置:
QQ图片17.jpg (16.57 KB, 下载次数: 2)
22:52 上传
后就进入了硬件错误,也就是进入这个函数:
QQ截图46.jpg (8.69 KB, 下载次数: 2)
22:52 上传
具体来说就是在配置第二个复用功能时进入的硬件错误,我把后面两个复用功能配置屏蔽掉就可以正常跑起来,不进入硬件错误,,,
这是神马情况???想知道有木有小伙伴遇到相同的情况?????欢迎各种指导。。。
继续阅读原创汇总:
主题帖子威望
新手上路, 积分 18, 距离下一级还需 32 积分
新手上路, 积分 18, 距离下一级还需 32 积分
回复:STM32F030 SPI配置IO口复用功能
请注意void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF);是GPIO_PinSource哦,上语句应改为GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_0);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_0);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_0);你可以看一下头文件里面的GPIO_Pin 和 GPIO_PinSource定义是不一样的
主题帖子威望
新手上路, 积分 18, 距离下一级还需 32 积分
新手上路, 积分 18, 距离下一级还需 32 积分
回复:STM32F030 SPI配置IO口复用功能
我也遇到过这个问题,检查了好久才搞明白,自己太脑残了
主题帖子威望
论坛元老, 积分 3453, 距离下一级还需 9996546 积分
论坛元老, 积分 3453, 距离下一级还需 9996546 积分
RE:STM32F030 SPI配置IO口复用功能
是呀,这就是要仔细阅读库文件了
主题帖子威望
论坛元老, 积分 3453, 距离下一级还需 9996546 积分
论坛元老, 积分 3453, 距离下一级还需 9996546 积分
RE:STM32F030 SPI配置IO口复用功能
是呀,这就是要仔细阅读库文件了
/*--------------------------------------------*/
#define&&GPIO_PinSource0& &((uint8_t)0x00)
#define&&GPIO_PinSource1& &((uint8_t)0x01)
#define&&GPIO_PinSource10& &((uint8_t)0x0A)
#define&&GPIO_PinSource11& &((uint8_t)0x0B)
#define&&GPIO_PinSource12& &((uint8_t)0x0C)
#define&&GPIO_PinSource13& &((uint8_t)0x0D)
#define&&GPIO_PinSource14& &((uint8_t)0x0E)
#define&&GPIO_PinSource15& &((uint8_t)0x0F)
#define&&GPIO_PinSource2& &((uint8_t)0x02)
#define&&GPIO_PinSource3& &((uint8_t)0x03)
#define&&GPIO_PinSource4& &((uint8_t)0x04)
#define&&GPIO_PinSource5& &((uint8_t)0x05)
#define&&GPIO_PinSource6& &((uint8_t)0x06)
#define&&GPIO_PinSource7& &((uint8_t)0x07)
#define&&GPIO_PinSource8& &((uint8_t)0x08)
#define&&GPIO_PinSource9& &((uint8_t)0x09)
/*--------------------------------------------*/
#define&&GPIO_Pin_0& &((uint16_t)0x0001)
#define&&GPIO_Pin_1& &((uint16_t)0x0002)
#define&&GPIO_Pin_10& &((uint16_t)0x0400)
#define&&GPIO_Pin_11& &((uint16_t)0x0800)
#define&&GPIO_Pin_12& &((uint16_t)0x1000)
#define&&GPIO_Pin_13& &((uint16_t)0x2000)
#define&&GPIO_Pin_14& &((uint16_t)0x4000)
#define&&GPIO_Pin_15& &((uint16_t)0x8000)
#define&&GPIO_Pin_2& &((uint16_t)0x0004)
#define&&GPIO_Pin_3& &((uint16_t)0x0008)
#define&&GPIO_Pin_4& &((uint16_t)0x0010)
#define&&GPIO_Pin_5& &((uint16_t)0x0020)
#define&&GPIO_Pin_6& &((uint16_t)0x0040)
#define&&GPIO_Pin_7& &((uint16_t)0x0080)
#define&&GPIO_Pin_8& &((uint16_t)0x0100)
#define&&GPIO_Pin_9& &((uint16_t)0x0200)
#define&&GPIO_Pin_All& &((uint16_t)0xFFFF)
/*--------------------------------------------*/
主题帖子威望
RE:STM32F030 SPI配置IO口复用功能
楼上几位解释正确。
主题帖子威望
金牌会员, 积分 1394, 距离下一级还需 1606 积分
金牌会员, 积分 1394, 距离下一级还需 1606 积分
RE:STM32F030 SPI配置IO口复用功能
以后先看看例程,常用外设都有官方例程的
主题帖子威望
新手上路, 积分 5, 距离下一级还需 45 积分
新手上路, 积分 5, 距离下一级还需 45 积分
回复:STM32F030 SPI配置IO口复用功能
回复第 2 楼 于 23:34:57发表:
请注意void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF);是GPIO_PinSource哦,上语句应改为GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_0);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_0);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_0);你可以看一下头文件里面的GPIO_Pin 和 GPIO_PinSource定义是不一样的
奥。。。原来是酱紫,,,太脑残了。。。
主题帖子威望
新手上路, 积分 33, 距离下一级还需 17 积分
新手上路, 积分 33, 距离下一级还需 17 积分
RE:STM32F030 SPI配置IO口复用功能
look啊啊啊 啊
主题帖子威望
初级会员, 积分 166, 距离下一级还需 34 积分
初级会员, 积分 166, 距离下一级还需 34 积分
回复:STM32F030 SPI配置IO口复用功能
站长推荐 /1
即日起,ST面向全球征集STM32解决方案,其中优秀项目将有机会作为参考案例在ST官网展示,同时还将携手ST共赴线下展会,与全球技术大牛一较高下。
Tel: 3-8056
备案号: 苏ICP备号-2
Powered by}

我要回帖

更多关于 stm8s003f3 iic例子 的文章

更多推荐

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

点击添加站长微信