OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子全套STM32/FPGA开发资料,上千讲STM32视频教程,RT1052教程免费下载啦...
查看: 393|回复: 1

例程(寄存器版)sys.c 中的GPIO_Muxc_Cfg()函数 问题

[复制链接]

  离线 

25

主题

73

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
402
金钱
402
注册时间
2014-5-11
在线时间
52 小时
发表于 2018-5-23 16:18:10 | 显示全部楼层 |阅读模式
void GPIO_Muxc_Cfg(u8 iox,u8 altx,u8 pupdkp,u8 speed,u8 dse,u8 od)
{  
        u32 tpadreg=1<<12;                                                                        //默认使能上拉/下拉/保持模式

        if(iox>=200)CCM->CCGR2|=3<<2;                                                //开启IOMUXC SNVS时钟(配置GPIO5时需要设置)

        if(pupdkp<4)
                tpadreg|=((u32)pupdkp<<14)|(1<<13);                //设置上拉/下拉,上下拉模式
        else if(pupdkp==5)
                tpadreg&=~(1<<12);                                //禁止:上拉、下拉、保持       

        tpadreg|=(u32)od<<11;                                                                //开漏模式设置
        tpadreg|=speed<<6;                                                                        //设置IO速度
        tpadreg|=dse<<3;                                                                        //设置驱动能力为dse

        if(speed)tpadreg|=1<<0;                                                                //如果速度大于50M,则设置高摆率,否则低摆率

        if(iox<200)        //GPIO1~4配置
        {
                IOMUXC->SW_MUX_CTL_PAD[iox]=(0<<4)|altx;                //设置SW_MUX_CTL寄存器,关闭SION功能,设置ALTx                                        
                IOMUXC->SW_PAD_CTL_PAD[iox]=tpadreg;                        //设置SW_PAD_CTL寄存器
        }
        else                //GPIO5配置
        {
                *(vu32*)(0X400A8000+4*(iox-200))=(0<<4)|altx;        //设置SW_MUX_CTL寄存器,关闭SION功能,设置ALTx
                *(vu32*)(0X400A8018+4*(iox-200))=tpadreg;                //设置SW_PAD_CTL寄存器
        }
}

if(iox>=200)CCM->CCGR2|=3<<2;                                                //开启IOMUXC SNVS时钟(配置GPIO5时需要设置)

这里如果要开启IOMUXC SNVS时钟  是不是应该  CCM->CCGR2|=3<<4;          ???

1.jpg

bwu
回复

使用道具 举报

  离线 

523

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
135745
金钱
135745
注册时间
2010-12-1
在线时间
1356 小时
发表于 2018-5-23 17:38:59 | 显示全部楼层
是的,这里是搞错了。
非常感谢指出这个错误。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则




关闭

正点原子STM32/FPGA资料免费洗澡上一条 /1 下一条

正点原子公众号

QQ|联系我们|手机版|官方淘宝店|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-12-14 14:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表
/* */