OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3426|回复: 1

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

[复制链接]

29

主题

84

帖子

0

精华

高级会员

Rank: 4

积分
659
金钱
659
注册时间
2014-5-11
在线时间
87 小时
发表于 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
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 13:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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