OpenEdv-开源电子网

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

关于 STM32F103RCT6精英板GPIO操作问题

[复制链接]

2

主题

5

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-8-17
在线时间
2 小时
发表于 2016-8-24 15:33:48 | 显示全部楼层 |阅读模式
10金钱
F103RCT6 对IO进行操作时  初始化的方法是一样的
采用#define RC522_NCS          PCout(0) 这种方式来操作GPIO没有反应。
采用GPIOC->BSRR=0X02;  这种方式来操作GPIO就是可以进行翻转。


但是同样用Pxout(n)进行定义的LED0 为何可以翻转???


                GPIOC->BSRR=0X02;
                GPIOC->BSRR=0X01;
                LED0 = 1;
                systick_delay_s(2);
                GPIOC->BRR=0X02;
                GPIOC->BRR=0X01;
                LED0 = 0;
                systick_delay_s(2);               
/*                       
                RC522_RST=0;
                RC522_NCS=1;
                systick_delay_s(2);
                RC522_RST=0;
                RC522_NCS=1;
                systick_delay_s(2);
               
//#define RC522_NCS          PCout(0)//
//#define RC522_RST          PCout(1)//
*/                       

最佳答案

查看完整内容[请看2#楼]

一: #define SDA PBout(11)// PB5 #define SCL PBout(10)// PE5 二: GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能PB端口时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; //PB11 端口配置 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_ ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2778
金钱
2778
注册时间
2015-6-1
在线时间
394 小时
发表于 2016-8-24 15:33:49 | 显示全部楼层
一:
#define SDA PBout(11)// PB5
#define SCL PBout(10)// PE5

二:
        GPIO_InitTypeDef  GPIO_InitStructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);         //使能PB端口时钟
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;                                 //PB11 端口配置
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  //推挽输出
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 //IO口速度为50MHz
        GPIO_Init(GPIOB, &GPIO_InitStructure);                                         //根据设定参数初始化GPIOB.11
        GPIO_SetBits(GPIOB,GPIO_Pin_11);                                                 //输出高
       
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;                             //PB10 端口配置, 推挽输出
        GPIO_Init(GPIOB, &GPIO_InitStructure);                                           //推挽输出 ,IO口速度为50MHz
        GPIO_SetBits(GPIOB,GPIO_Pin_10);                                                  //输出高
三:
        SDA=1;
        delay_iic_2us(5);
        SCL=1;
        delay_iic_2us(5);
你看看能参考不


自在随心
回复

使用道具 举报

3

主题

261

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2075
金钱
2075
注册时间
2014-2-20
在线时间
284 小时
发表于 2016-8-24 16:14:36 | 显示全部楼层
33K{F]8_L2ARF53CLTJ[6E6.png
你这个程序就没有让他翻转的
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-8-17
在线时间
2 小时
 楼主| 发表于 2016-8-24 16:23:14 | 显示全部楼层
Da Wen 发表于 2016-8-24 16:14
你这个程序就没有让他翻转的

好吧,不说啥了。问题解决了。。不过花时间把GPIO寄存器仔细看了下,还是有点收获的。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-1 13:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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